Pull to refresh

Резервное копирование на бесплатный хостинг

Рассмотрим пример резервного копирования некритичных данных на бесплатный хостинг narod.ru.

Создаем в корневом каталоге копируемого сервера папку Backup, а папке /root создаем каталог utils и каталог scripts, в каталоге scripts вложенный каталог backup_store.

— в каталог backup будет ежедневно копироваться копия VPS сервера
— в каталоге scripts находятся собственно скрипты
— каталог backup_store служит для синхронизации с ftp сервером narod.ru


Скрипт для ежедневного резервного копирования следующего выглядит следующим образом

#! /bin/sh
rsync -azhP --exclude=/backup/ --exclude=/dev/ --exclude=/proc/ --exclude=/sys/ --exclude=/aquota.* / /backup/

Ежеднесная копия системных файлов и настроек в несжатом виде не будет лишней. Помещаем символическую ссылку в папку /etc/cron.daily/, таким образом мы будем ежедневно поддерживать актуальность файлов копии.

Приведем текст соглашения с хостингом narod.ru

Размер сайта — не ограничен.
Размер отдельных файлов — до 10 МБ.
Загрузка файлов по FTP — поддерживается.

Такие условия нас вполне устраивают, необходимо лишь сжать, зашифровать и разрезать нашу резервную копию. Для этого отлично подошел бы 7zip, но так как эксперимент мы проводим на VPS с ограниченным объемом оперативной памяти 7zip не подойдет. Обойдемся стандартными средствами, скрипт для сжатия/шифрования/разрезания приведен ниже, вместо secretpassword естественно свой пароль:

#! /bin/sh
file=$(date +%Y-%b-%d)_
rm /root/scripts/backup_store/*
cd /root/scripts/backup_store/
tar -zcv /backup/ |openssl des3 -salt -k secretpassword | split -b 9m — $file

Помещаем символическую ссылку в /etc/cron.weekly/, и соответственно раз в неделю файлы будут удалены и созданы из актуальной копии, остается лишь поместить их на хостинг

Создадим скрипт для ежедневных попыток синхронизации сжато/шифрованной актуальной копии. Так-как используется отвратительный и бесплатный хостинг, попытки синхронизации должны происходить ежедневно!!! Для этого помещаем символическую ссылку на скрипт в каталог /etc/cron.daily/. Копирование будем производить при помощи lftp, для чего устанавливаем lftp коммандой yast -i lftp.

Параметры для доступа на FTP narod.ru взято с офсайта:
Адрес доступа к Народу по FTP
Адрес доступа для ftp — ваш логин.ftp.narod.ru (пример: example.ftp.narod.ru)
Логин и пароль — ваши логин и пароль на Яндексе
Если у Вас возникли проблемы при работе или подключении, попробуйте включить пассивный режим передачи данных.

Текст скрипта для резервного копирования приведен ниже:

#! /bin/sh
cd /root/scripts/backup_store
lftp -c «set ftp:list-options -a; \
open ftp://:@.ftp.narod.ru;\
mkdir <Каталог на хостинге для бэкапов>;\
cd <Каталог на хостинге для бэкапов>;\
mput -c *»
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.