Установка и конфигурирование backup-manager
backup-manager — это набор скриптов для резервного копирования данных, доступный в репозиториях Debian‘а. Установить его довольно просто
sudo aptitude install backup-manager
Все настройки хранятся в одном конфигурационном файле, который и редактируем
sudo nano /etc/backup-manager.conf В данном примере нас будут интересовать следующие параметры.
#Директория для локального хранения резервных копий export BM_REPOSITORY_ROOT="/var/archives" #Владелец файлов и права доступа export BM_REPOSITORY_USER="root" export BM_REPOSITORY_GROUP="root" export BM_REPOSITORY_CHMOD="770" #Указываем типы архивирования: инкрементный бэкап и бэкап баз данных export BM_ARCHIVE_METHOD="tarball-incremental mysql" #Метод шифрования архивов — gpg — и ключ шифрования export BM_ENCRYPTION_METHOD="gpg" export BM_ENCRYPTION_RECIPIENT="MyName (Any text) <my@email.com> (INSECURE!)" #Тип архивов — tar.gz export BM_TARBALL_FILETYPE="tar.gz" #При архивировании backup-manager не будет следовать по символическим ссылкам export BM_TARBALL_DUMPSYMLINKS="false" #Собственно, то, что буде бэкапить. Перечисляем директории через пробел export BM_TARBALL_DIRECTORIES="/etc /home/user0 /home/user1" #Если в имени директории или файла есть пробел, то можно использовать массив BM_TARBALL_TARGETS[0]="/path/with space" BM_TARBALL_TARGETS[1]="/path/with space" #Указываем исключения в случае необходимости (то, что не будем копировать) export BM_TARBALL_BLACKLIST="/home/user0/blacklist" #Настраиваем расписание резервного копирования. Мастер-бэкап (полная копия) будет создаваться каждую неделю, а инкрементные бэкапы — каждый день export BM_TARBALLINC_MASTERDATETYPE="weekly" export BM_TARBALLINC_MASTERDATEVALUE="1" #Указываем базы данных MySQL, которые хотим сохранить (можно указать __ALL__ для бэкапа всех баз) export BM_MYSQL_DATABASES="__ALL__" #Данные для подключения к MySQL export BM_MYSQL_ADMINLOGIN="mysqlusername" export BM_MYSQL_ADMINPASS="mysqlpassword" export BM_MYSQL_HOST="localhost" export BM_MYSQL_PORT="3306" #Метод сжатия дампов баз данных export BM_MYSQL_FILETYPE="bzip2"
Сохраняем изменения в файле и проверяем
sudo backup-manager
Если все нормально, бэкапы создаются, то остается только добавить запуск backup-manager по расписанию в Cron
sudo nano /etc/crontab
Надо добавить строку вида
59 23 * * * root backup-manager
Настройка резервного копирования с использованием backup-manager, gpg и dropbox в Debian
Принцип работы этой связки следующий:
backup-manager запускается по cron’у и создает инкрементные бэкапы файлов и баз MySQL; бэкапы сжимаются в архивы и шифруются при помощи GPG; зашифрованные копии данных копируются в dropbox. Теперь обо всем по порядку.