Рассмотрим пример резервного копирования некритичных данных на бесплатный хостинг 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 *»
Создаем в корневом каталоге копируемого сервера папку 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 *»