Здесь напишу, что я делал.
Итак, сайт хостится на сервере Debian. Для создания резервной копии файлов сайта использую стандартную для всех дистрибутивов *nix утилиту tar, а для получения дампов базы - mysqldump.
Хранить бэкапы будем на удаленном сервере dropbox.com.
Синтаксис комманды:
#Dump winograd/* tar -czpf /home/svv/backup/winograd-`date '+%d-%m-%Y'`.tar.gz \ /storage/www/hosted/winograd --exclude=_old --exclude=ala #backup yoursitename.org.ua DB mysqldump -u vovs -pPASSWORD_HERE vovs_school > \ /home/svv/backup/dump-win-`date '+%d-%m-%Y'`.sql #backup yoursitename.org.ua/forum DB mysqldump -u vovs -pPASSWORD_HERE vovs_forum > \ /home/svv/backup/dump-forum-`date '+%d-%m-%Y'`.sqlПо ключам:
-с - создаем архивный файл;
-z - сжимаем с помощью gzip
-p - в архивных файлах сохраняются все настройки прав
-f - на выходе получим файл.
Опция --exclude указывает какие директории следует исключить из архива
Синтаксис mysqldump не должен вызвать вопросов. Указываем имя пользователя, который имеет доступ к базе и пароль. Потом название базы и направляем поток в файл.
Следующим этапом будем пересылка файлов на другой сервер. В качестве другого сервера был выбран сервис, предоставляемый на сайте www.dropbox.com. Зарегистрировавшись на этом сайте Вы получаете 2 Гб места для хранения своих файлов. Для взаимодействия с виртуальным хранилищем предлагается скачать клиент для MS Windows. Пользователи *nix могут подключить DropBox как файловую систему. Ну и конечно доступ есть из любомого места, где есть Интернет.
Чтобы отправить вновь созданные файлы в хранилище на DropBox необходимо скачать скрипт BASH Dropbox Uploader, который и делает это:
/home/svv/scripts/drpbx_upload.sh \ /home/svv/backup/winograd-`date '+%d-%m-%Y'`.tar.gz winograd_backups /home/svv/scripts/drpbx_upload.sh \ /home/svv/backup/dump-win-`date '+%d-%m-%Y'`.sql winograd_backups /home/svv/scripts/drpbx_upload.sh \ /home/svv/backup/dump-forum-`date '+%d-%m-%Y'`.sql winograd_backupsСкрипт принимает два параметра. Первый - это имя файла, второй - это папка на DropBox'е.
После удачной пересылки данных можно удалить старые копии резервных файлов.
Я решил удалять файлы, к которым не обращались последние 100 дней, что примерно равно 3 месяца:
find /home/svv/backup/ -atime +100 -delete
И для окончательной автоматизации процесса резервного копирования файлов сайта все эти комманды были собраны в одном файле, который запускается по расписанию. Я делаю бекап 10 и 25 числа каждого месяца. Для этого в файле /etc/crontab я добавил строчку:
15 4 10,25 * * root /home/svv/scripts/backup_vovs.shЗапускать скрипт в 4:15 каждого 10 и 25 числа от имени пользователя root.
Комментариев нет:
Отправить комментарий