Настройка резервного копирования VDS

Самая очевидная необходимость после установки и настройки VDS, выделенного сервера или хостинга — резервное копирование. Мы не постоянно напоминаем, что для безопасности нужно сохранять не делать резервные копии, но и сохранять копии резервных копий.
Многие наши клиенты используют VestaCP, CPanel и ISPmanager, где можно просто настроить резервное копирование данных на различные источники. Если же Вы используете чистую VDS, то мы предлагаем рассмотреть создание резервных копий папок сервера, каталогов с веб сайтами, баз данных и загрузки их на сервис Dropbox.


Для этого существует бесплатный и простой скрипт backup-manager. Его установка и настройка максимально простая и не займет много времени.
Рассмотрим, как сделать резервное копирование на Dropbox

# Debian, Ubuntu
apt-get install backup-manager
# Centos
yum install backup-manager

По завершению инсталляции, отредактируем файл /etc/backup-manager.conf, в котором все конфигурации документированы. В нашем случае он должен выглядить так

export BM_DAILY_CRON="true" # запуск ежедневно
export BM_REPOSITORY_ROOT="/var/backup-manager" # директория хранения бэкапов
export BM_TEMP_DIR="/var/tmp" # временный каталог
export BM_REPOSITORY_SECURE="true"
export BM_REPOSITORY_USER="root"
export BM_REPOSITORY_GROUP="root"
export BM_REPOSITORY_CHMOD="770"
export BM_ARCHIVE_CHMOD="660"
export BM_ARCHIVE_TTL="5"
export BM_ARCHIVE_FREQUENCY="daily"
export BM_REPOSITORY_RECURSIVEPURGE="false"
export BM_ARCHIVE_PURGEDUPS="true"
export BM_ARCHIVE_PREFIX="$HOSTNAME"
export BM_ARCHIVE_STRICTPURGE="true"
export BM_ARCHIVE_NICE_LEVEL="10"
export BM_ARCHIVE_METHOD="tarball-incremental mysql" # копии файлов и дампы баз данных MySQL
export BM_TARBALL_NAMEFORMAT="long"
export BM_TARBALL_FILETYPE="tar.gz"
export BM_TARBALL_DUMPSYMLINKS="false"
declare -a BM_TARBALL_TARGETS # ниже указываем необходимые директории
BM_TARBALL_TARGETS[0]="/etc"
BM_TARBALL_TARGETS[1]="/var/www"
BM_TARBALL_TARGETS[2]="/home"
BM_TARBALL_TARGETS[3]="/root"
export BM_TARBALL_TARGETS
export BM_TARBALLINC_MASTERDATETYPE="weekly"
export BM_TARBALLINC_MASTERDATEVALUE="1"
export BM_MYSQL_DATABASES="__ALL__"
export BM_MYSQL_SAFEDUMPS="true"
export BM_MYSQL_ADMINLOGIN="root"
export BM_MYSQL_ADMINPASS="SeCuRePaSsWoRd" # пароль к MySQL
export BM_MYSQL_HOST="localhost"
export BM_MYSQL_PORT="3306"
export BM_MYSQL_FILETYPE="bzip2"

 Внеся изменения, можно проверить работу backup-manager запустив его из командной строки:

# backup-manager -v
/var/backup-manager/vds.host-for.net-etc.20140416.master.tar.gz: ok (9M, 80933e817bf70aa079ddb7515698e25e)
/var/backup-manager/vds.host-for.net-var-www.20140416.master.tar.gz: ok (1M, 0aae02715773e09298f7fd26e3d0a7f7)
/var/backup-manager/vds.host-for.net-home.20140416.master.tar.gz: ok (1M, 0b11cc7e8cecc36e9004b5bd223a963d)
/var/backup-manager/vds.host-for.net-root.20140416.master.tar.gz: ok (48M, 9147e1817894295015d7438e8ea28678)
Creating a default MySQL client configuration file: /root/.backup-manager_my.cnf
/var/backup-manager/vds.host-for.net-all-mysql-databases.20140416.sql.bz2: ok (1M, 93cee49736e67c71001825b31606a86d)
# ls -l /var/backup-manager/
итого 56512
-rw-rw---- 1 root root 396 Апр 16 14:20 vds.host-for.net-20140416.md5
-rw-rw---- 1 root root 101758 Апр 16 14:20 vds.host-for.net-all-mysql-databases.20140416.sql.bz2
-rw-rw---- 1 root root 8733029 Апр 16 14:20 vds.host-for.net-etc.20140416.master.tar.gz
-rw------- 1 root root 30605 Апр 16 14:20 vds.host-for.net-etc.incremental.bin
-rw-rw---- 1 root root 467 Апр 16 14:20 vds.host-for.net-home.20140416.master.tar.gz
-rw------- 1 root root 179 Апр 16 14:20 vds.host-for.net-home.incremental.bin
-rw-rw---- 1 root root 48862421 Апр 16 14:20 vds.host-for.net-root.20140416.master.tar.gz
-rw------- 1 root root 5825 Апр 16 14:20 vds.host-for.net-root.incremental.bin
-rw-rw---- 1 root root 102889 Апр 16 14:20 vds.host-for.net-var-www.20140416.master.tar.gz
-rw------- 1 root root 3668 Апр 16 14:20 vds.host-for.net-var-www.incremental.bin

Если результат такой как выше, то резервные копии созданы, и теперь backup-manager будет запускаться каждую ночь, если указали в настройках параметр BM_DAILY_CRON="true.
Следующим этапом будет загрузка архивов на серверы Dropbox.
Настоятельно рекомендуем создать для резервных копий отдельный аккаунт Dropbox. Если пройдена, загрузим и установим официальный клиент dropbox на сервер:

wget -O - "http://www.dropbox.com/download/?plat=lnx.x86_64" | tar xvzf - -C /root

Далее необходимо авторизовать сервер для начала работы с Dropbox. Запускаем клиентский скрипт:

# /root/.dropbox-dist/dropbox
Этот компьютер не подсоединен к аккаунту Dropbox...
Чтобы подсоединить этот компьютер, перейдите по ссылке https://www.dropbox.com/cli_link?host_id=********************

Скопируйте полученную ссылку и откройте ее в браузере. При необходимости — авторизуйтесь на сайте Dropbox. После этого скрипт сообщит об успешной привязке сервера к dropbox-аккаунту:

Этот компьютер теперь подсоединен к аккаунту Dropbox. Добро пожаловать, Test User!

Нажмите Ctrl-C и приступим к настройке клиента Dropbox. Прежде обеспечим запуск dropboxd при загрузке системы. Это сделать лучше всего с помощью планировщика. Запустите crontab -uroot -e и вставьте сточку:

@reboot $HOME/.dropbox-dist/dropboxd

С помощью символьной ссылки укажите для клиента dropbox расположение файлов с резервными копиями:

ln -s /var/backup-manager /root/Dropbox/backup

Настройка резервного копирования на Dropbox закончена. Перезагрузим систему или запустим клиентскую часть dropbox:

Shell
/root/.dropbox-dist/dropbox &
1
/root/.dropbox-dist/dropbox &

Через пару минут хранилище начнуться загружаться резервные копии данных. Теперь каждый день скрпит будет создавать обновленный архив с файлами, а dropbox-клиент обеспечит их загрузку в облачное хранилище.

Leave a comment

Make sure you enter all the required information, indicated by an asterisk (*). HTML code is not allowed.

Sales department:
Rua Francisco Sa Carneiro, Lt. 11
3430-048 Carregal do Sal
Portugal
Working hours are from 9:00 AM to 9:00 PM
For finance support write requests in billing tickets


Technics department 
Wounder st, Lt.11
3040 Limassol
Cyprus 
For technical support write requests in billing tickets

The company is founded in 2007 on universal human principles of integrity, human rights and freedoms, and the relationships between individuals.
Host-for.NET
Markova st., 88, Debrivne 15163
Geroev Stalingrada, 39B, Kiev 04210