Резервное копирование данных сервера
Рубрика: Полезности -> Администрирование
Метки: бэкап | резервное копирование | сервер
Просмотров: 5160
Основная задача любого сисадмина это не только поддержка работоспособности сервера, но и сохранность данных.
А один из вариантов сохранность данных, это регулярное копирование информации на другой сервер на случай сбоев и случайного удаление данных с основного сервера.
Если на сервере используется одна из популярных панелей управления и задача стоит сохранить только данные пользователей, то это не сложно сделать через реализованные функции самой панели.
Но если вам нужно по максимуму сохранить все важные данные сервера и не всегда стандартных конфигураций , нужно самостоятельно писать конфигурацию для резервного копирования файлов
Что нужно бэкапить на сервере?
Разберемся на примере одного из моих ВДС
На ВДС установлено tracking на ChiliProject, 1c, DNS Slave Webmin, Proxy 3proxy , ownCloud
Бекап файл со списком сохранен тут /root/scripts/etc-backup.sh
Сам файл следующего содержания
#!/bin/bash
date
tar -czf /var/lib/backup/etc-`hostname`-`date +%Y-%m-%d`.tar.gz /etc.
curl --upload-file /var/lib/backup/etc-`hostname`-`date +%Y-%m-%d`.tar.gz ftp://***/backup/config/
tar -czf /var/lib/backup/www-`hostname`-`date +%Y-%m-%d`.tar.gz /var/www --exclude=/var/www/html/owncloud/data
curl --upload-file /var/lib/backup/www-`hostname`-`date +%Y-%m-%d`.tar.gz ftp://***/backup/config/
tar -czf /var/lib/backup/named-`hostname`-`date +%Y-%m-%d`.tar.gz /var/named
curl --upload-file /var/lib/backup/named-`hostname`-`date +%Y-%m-%d`.tar.gz ftp://***/backup/confi
mysqldump --all-databases | gzip > /var/lib/backup/databases/`date +%Y-%m-%d`.sql.gz
curl --upload-file /var/lib/backup/databases/`date +%Y-%m-%d`.sql.gz ftp://***/backup/config/track
/usr/pgsql/bin/pg_dumpall -U postgres | gzip > /var/lib/backup/databases/pgsql-`date +%Y-%m-%d`.out.gz
curl --upload-file /var/lib/backup/databases/pgsql-`date +%Y-%m-%d`.out.gz ftp://***/backup/config
find /var/lib/backup/ -type f -mtime +7 -delete
Как видите в файле делается бекап важных данных, а так же этот бекап загружается на сторонний сервер
Вместо *** адрес сервера в формате ЛОГИН:ПАРОЛЬ@ДОМЕН
А последняя команда удаляет старые бэкапы старже 7ми дней.
Запускаем регулярно кроном
0 3 * * * /root/scripts/etc-backup.sh >> /var/log/etc-backup.log 2>&1
Автор: BuxarNET (Тяшкевич Виталий) для IntFAQ.ru, по инструкции от хостинг провайдера Buxar-Host.ru