backup-manager - cоздание и управление архивами
Программа для создания и управления архивами backup-manager.
Небольшая и удобная программа для создание ежедневных автоматических архивов (с ротацией).
Поддерживается архивация баз данных MySQL.
Установка и настройка
Установка в gentoo:
emerge app-backup/backup-manager
Возможно потребуется размаскировать пакет:
Стандартный конфигурационный файл:
cp /usr/share/backup-manager/backup-manager.conf.tpl /etc/backup-manager.conf
Ограничение прав доступа 1):
chmod 600 /etc/backup-manager.conf
Описание основный настроек
Шаблонный файл конфигурации хорошо документирован поэтому привожу только некоторые настройки.
Параметр | Описание | Значение по умолчанию |
---|---|---|
BM_REPOSITORY_ROOT | Размещение репозитория архивных данных | /var/archives |
BM_REPOSITORY_SECURE | Изменять права доступа для архивов | true |
BM_REPOSITORY_USER | Имя пользователя | root |
BM_REPOSITORY_GROUP | Имя группы | root |
BM_REPOSITORY_CHMOD | Права доступа к репозиторию | 770 |
BM_ARCHIVE_CHMOD | Права доступа к файлам архива | 660 |
BM_ARCHIVE_TTL | Сколько дней хранить архивы | 5 |
BM_REPOSITORY_RECURSIVEPURGE | Удалять ли поддиректории рекурсивно при удалении архива | false |
BM_ARCHIVE_PURGEDUPS | Создавать симлинки если архивные данные не изменились | true |
BM_ARCHIVE_PREFIX | Префиксное имя в названии архива | $HOSTNAME |
BM_ARCHIVE_METHOD | Метод архивации | tarball |
Также можно использовать несколько файлов конфигурации.
Использование
Ручной режим (консоль)
Выполнить архивацию 2):
backup-manager
Дополнительные ключи:
- -v | --verbose - подробности выполнения
- --no-warnings - не выводить не критичные предупреждения
Автоматически режим (крон)
Прописать в файле крона:
/etc/cron.daily/backup-manager
#!/bin/sh /usr/bin/nice /usr/sbin/backup-manager 1> /dev/null
Сделать файл выполняемым:
chmod +x /etc/cron.daily/backup-manager
Можно задать использование альтернативного файла конфигурации с помощью опции --conffile|-c:
backup-manager -c /etc/backup-manager-other.conf
Методы архивации (BM_ARCHIVE_METHOD)
В параметре настроек BM_ARCHIVE_METHOD можно задать несколько методов архивации. Доступные методы:
- tarball
- tarball-incremental
- mysql
- svn
- pipe
- none
Архивация файлов (методы tarball и tarball-incremental)
Директория для архивации:
BM_TARBALL_TARGETS[0]="/etc" BM_TARBALL_TARGETS[1]="/home/*"
Тип сжания:
BM_TARBALL_FILETYPE="tar.bz2"
Исключения:
BM_TARBALL_BLACKLIST="/dev /sys /proc /tmp *.mp3 *.mpg"
Архивация MySQL (метод mysql)
БД для архивации (__ALL__ - все БД, список через пробел)
BM_MYSQL_DATABASES="__ALL__"
При выборе __ALL__ дамбы всех БД записываются в один файл, что не всегда может быть хорошо.
Пользователь:
BM_MYSQL_ADMINLOGIN="root"
Пароль:
BM_MYSQL_ADMINPASS="PASSWORD"
Тип сжатия:
BM_MYSQL_FILETYPE=bzip2
Обсуждение
Автор не описал проблему архивации БД. К более свежей версии mysql, начиная с 5.7, этот способ не подойдет. Под root вам не получится создать архив бд. Поэтому в поле BM_MYSQL_ADMINLOGIN придется ввести иного пользователя, отличного от root, пусть даже с grant правами. Это часть защиты mysql новых версий. Автора прошу пометить это в статье.