Настройка резервного копирования Linux-сервера на AMAZON S3 за 5 минут. Backup-Manager!!!

Интересная статья, скоро предстоит по работе делать то же самое. Далее излагает Автор.

Передо мной возникла необходимость настроить резервное копирование на новом Linux-сервере, задачка эта оочень важная, но уж больно скучная: нужно написать и отладить скрипты, которые будут архивировать нужные папки (причем желательно делать инкрементальные архивы), базы данных, хранилища subversion, а затем переносить эти архивы на удаленный сервер. По этому я попробовал нагуглить готовое решение для этой задачки и в результате наткнулся на backup-manager.

Backup-manager замечательный опенсорсный набор bash-скриптов, позволяющих:

  • архивировать любые папки, в том числе и создавать инкрементальные архивы. В конфиге просто указывается список директорий, которые должны быть скопированы, а также «черный список» файлов, которые копироваться не будут
  • делать резервное копирование баз данных MySQL. В конфиге указываются логин и пароль mysql-юзера, имеющего доступ к базам, а всю остальную работу backup-manager делает сам.
  • делать резервное копирование svn-репозиториев, причем бэкап делается не копированием папки с хранилищем, а с помощью команды svnadmin dump
  • шифровать архивы.
  • копировать созданные архивы на удаленные сервера по FTP, SSH или (это самая важная для меня фича) в хранилище Amazon S3, а также записывать их на DVD.


Таким образом, один этот этот набор скриптов решил абсолютно все мои задачи, связанные с резервным копированием. Настраивается все это хозяйство не более чем за пять минут, так как в конфигурационном файле каждый параметр имеет подробные комментарии, так что проблем с настройкой возникнуть ни у кого не должно.

Скачать можно отсюда: www.backup-manager.org/downloads/, либо просто можно установить пакет backup-manager (пример для Debian):

aptitude install backup-manager


Кроме того, нужно учесть, что для копирования данных в хранилище Amazon S3 в системе должны быть установлены пакеты libnet-amazon-s3-perl и libfile-slurp-perl:

aptitude install libnet-amazon-s3-perl libfile-slurp-perl


Теперь остается только настроить запуск backup-manager по крону и можно спать спокойно.
Все настройки хранятся в файле /etc/backup-manager.conf, вот основные его параметры:
    # Папка, в которой архивы будут складываться локально
    export BM_REPOSITORY_ROOT=»/var/archives»

    # Используемые методы резервного копирования
    export BM_ARCHIVE_METHOD=»tarball-incremental mysql svn»

    # Далее для каждого из выбранных выше методов резервного копирования задаем настройки
    # Список папок, содержимое которых будем бэкапить
    BM_TARBALL_TARGETS[0]=»/etc»
    BM_TARBALL_TARGETS[1]=»/boot»
    BM_TARBALL_TARGETS[2]=»/var/www»
    export BM_TARBALL_TARGETS

    # Список исключений, то есть файлов в перечисленных выше папках, которые бэкапить не нужно
    export BM_TARBALL_BLACKLIST=»/dev /sys /proc /tmp *imagecache*»

    # Теперь указываем как часто делать мастер-бэкап и инкрементный бэкап
    export BM_TARBALLINC_MASTERDATETYPE=»weekly»
    export BM_TARBALLINC_MASTERDATEVALUE=»1″

    # Для бэкапа MySQL баз данных указываем какие базы бэкапить и параметры mysql-юзера
    export BM_MYSQL_DATABASES=»__ALL__»
    export BM_MYSQL_ADMINLOGIN=»user»
    export BM_MYSQL_ADMINPASS=»1234″

    # Для бэкапа subversion-репозитория указываем путь к хранилищу
    export BM_SVN_REPOSITORIES=»/var/repositories»

    # Выбираем метод аплоада созданного бэкапа а удаленный сервер
    # (еще есть варианты ftp, ssh, ssh-gpg, rsync)
    export BM_UPLOAD_METHOD=»s3″

    # Для копирования копий на Amazon S3 задаем имя корзины, access key и secret key
    export BM_UPLOAD_S3_DESTINATION=»basket-name»
    export BM_UPLOAD_S3_ACCESS_KEY=»ABC123″
    export BM_UPLOAD_S3_SECRET_KEY=»DEF456″


Это самые основные настройки, в самом конфиге есть еще пара десятков параметров, все они подробно прокомментированы.




Вас также может заинтересовать:

Backup mysql и как пользоваться mysqldump для резервного копирования баз данных
15 минут радости на YouTube
Презентация от Apple за 5 минут
Ничего не делайте в течение 2 минут
Первые 5 минут устранения неполадок на Linux-сервере
AWS: Amazon Linux 2012.09