Bacula: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 12: | Строка 12: | ||
* Реализовать возможность удобной настройки шифрования передаваемых данных и получившихся архивов | * Реализовать возможность удобной настройки шифрования передаваемых данных и получившихся архивов | ||
* Реализовать возможность восстановления из архива | * Реализовать возможность восстановления из архива | ||
== Базовая настройка Bacula == | |||
Рассмотрим минимальную установку сервера bacula.<br> | |||
Установим необходимые пакеты:<br> | |||
На сервере: | |||
<pre># apt-get install bacula7-common bacula7-console bacula7-director-common bacula7-director-mysql bacula7-storage mt-st</pre>\ | |||
На клиенте: | |||
<pre># apt-get install bacula7-client</pre> | |||
=== Настройка базы данных MySQL === | |||
Для создания базы, привелегий и таблиц существуют скрипты: | |||
<pre># /usr/share/bacula/scripts/create_mysql_database | |||
# /usr/share/bacula/scripts/grant_mysql_privileges | |||
# /usr/share/bacula/scripts/make_mysql_tables</pre> | |||
Задаим пароль для созданного пользователя bacula: | |||
<pre># mysql -u root -p | |||
> use mysql; | |||
> UPDATE user SET authentication_string=PASSWORD("Pa$$word") where User='bacula'; | |||
> flush privileges; | |||
> quit;</pre> | |||
=== Настройка Director === | |||
За настройку Bacula Director отвечает файл {{path|/etc/bacula/bacula-dir.conf}}: | |||
<pre>Director { | |||
Name = dir # Имя | |||
DIRport = 9101 # Порт который будет слушать Director | |||
QueryFile = "/usr/share/bacula/scripts/query.sql" | |||
WorkingDirectory = "/var/lib/bacula" | |||
PidDirectory = "/var/run/bacula" | |||
Maximum Concurrent Jobs = 1 | |||
@/etc/bacula/bacula-dir-password.conf # Файл с паролем для доступа к Director | |||
Messages = Daemon | |||
} | |||
# Параметры каталога | |||
Catalog { | |||
Name = MyCatalog # Имя каталога | |||
dbname = bacula # Имя базы данных | |||
user = bacula # Имя пользователя базы данных | |||
password = "Specify password for catalog here" # Пароль пользователя базы данных | |||
} | |||
# Дальнейшие строчки подгружают конфигурационные файлы из подкаталогов job.d fileset.d schedule.d client.d storage.d messages.d pool.d | |||
@|"sh -c 'for f in /etc/bacula/job.d/*.conf ; do echo @${f} ; done'" | |||
@|"sh -c 'for f in /etc/bacula/fileset.d/*.conf ; do echo @${f} ; done'" | |||
@|"sh -c 'for f in /etc/bacula/schedule.d/*.conf ; do echo @${f} ; done'" | |||
@|"sh -c 'for f in /etc/bacula/client.d/*.conf ; do echo @${f} ; done'" | |||
@|"sh -c 'for f in /etc/bacula/storage.d/*.conf ; do echo @${f} ; done'" | |||
@|"sh -c 'for f in /etc/bacula/messages.d/*.conf ; do echo @${f} ; done'" | |||
@|"sh -c 'for f in /etc/bacula/pool.d/*.conf ; do echo @${f} ; done'"</pre> | |||
== Ссылки == | == Ссылки == |
Версия от 18:51, 7 июля 2017
Бэкапы обстоятельно
Первым делом стоит понять, что Bacula — сложный продукт, пригодный для множества ситуаций, но за это приходится платить существенным вложением времени в освоение базовых вещей и соответствующее конфигурирование (отведите хотя бы неделю на базовое освоение и планирование тестовой инсталяции).
Если требуется создавать простую резервную копию — возможно, достаточно просто tar, rsync или несложных систем вроде rdiff-backup или bontmia. Но если надо работать с несколькими клиентами, стораджами, наборами данных, расписаниями бэкапа — лучше сразу посмотреть на bacula.
Дистрибутив
Существует бета-версия дистрибутива Bran Backup, созданная Станиславом Иевлевым (inger@) и Виталием Кузнецовым (vitty@). Она представляет собой удобный инсталятор Bacula на базе ALT Linux. Дистрибутивы для различных архитектур лежат здесь. В настоящее время статус этих версий: Бета
Планируемые доработки
- Доработать branding
- Реализовать возможность удобной настройки шифрования передаваемых данных и получившихся архивов
- Реализовать возможность восстановления из архива
Базовая настройка Bacula
Рассмотрим минимальную установку сервера bacula.
Установим необходимые пакеты:
На сервере:
# apt-get install bacula7-common bacula7-console bacula7-director-common bacula7-director-mysql bacula7-storage mt-st
\
На клиенте:
# apt-get install bacula7-client
Настройка базы данных MySQL
Для создания базы, привелегий и таблиц существуют скрипты:
# /usr/share/bacula/scripts/create_mysql_database # /usr/share/bacula/scripts/grant_mysql_privileges # /usr/share/bacula/scripts/make_mysql_tables
Задаим пароль для созданного пользователя bacula:
# mysql -u root -p > use mysql; > UPDATE user SET authentication_string=PASSWORD("Pa$$word") where User='bacula'; > flush privileges; > quit;
Настройка Director
За настройку Bacula Director отвечает файл /etc/bacula/bacula-dir.conf:
Director { Name = dir # Имя DIRport = 9101 # Порт который будет слушать Director QueryFile = "/usr/share/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula" PidDirectory = "/var/run/bacula" Maximum Concurrent Jobs = 1 @/etc/bacula/bacula-dir-password.conf # Файл с паролем для доступа к Director Messages = Daemon } # Параметры каталога Catalog { Name = MyCatalog # Имя каталога dbname = bacula # Имя базы данных user = bacula # Имя пользователя базы данных password = "Specify password for catalog here" # Пароль пользователя базы данных } # Дальнейшие строчки подгружают конфигурационные файлы из подкаталогов job.d fileset.d schedule.d client.d storage.d messages.d pool.d @|"sh -c 'for f in /etc/bacula/job.d/*.conf ; do echo @${f} ; done'" @|"sh -c 'for f in /etc/bacula/fileset.d/*.conf ; do echo @${f} ; done'" @|"sh -c 'for f in /etc/bacula/schedule.d/*.conf ; do echo @${f} ; done'" @|"sh -c 'for f in /etc/bacula/client.d/*.conf ; do echo @${f} ; done'" @|"sh -c 'for f in /etc/bacula/storage.d/*.conf ; do echo @${f} ; done'" @|"sh -c 'for f in /etc/bacula/messages.d/*.conf ; do echo @${f} ; done'" @|"sh -c 'for f in /etc/bacula/pool.d/*.conf ; do echo @${f} ; done'"