Bacula: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 21: Строка 21:
<pre># apt-get install bacula7-client</pre>
<pre># apt-get install bacula7-client</pre>
=== Настройка базы данных MySQL ===
=== Настройка базы данных MySQL ===
Для создания базы, привелегий и таблиц существуют скрипты:
Запустим сервис и добавим его в автозагрузку:
<pre># /usr/share/bacula/scripts/create_mysql_database
<pre># systemctl start mysqld
# /usr/share/bacula/scripts/grant_mysql_privileges
# systemctl enable mysqld</pre>
# /usr/share/bacula/scripts/make_mysql_tables</pre>
Подключимся к MySQL:
Задаим пароль для созданного пользователя bacula:
<pre># mysql -u root -p</pre>
<pre># mysql -u root -p
Создадим базу bacula:
> use mysql;
<pre>mysql> CREATE DATABASE `bacula`;</pre>
> UPDATE user SET authentication_string=PASSWORD("Pa$$word") where User='bacula';
Создадим пользователя bacula с паролем "Pa$$word":
> flush privileges;
<pre>mysql> CREATE USER 'bacula'@'localhost' IDENTIFIED BY 'Pa$$word';</pre>
> quit;</pre>
Дадим пользователю права на базу:
<pre>mysql> GRANT ALL PRIVILEGES ON `bacula`.* TO 'bacula'@'localhost';
mysql> FLUSH PRIVILEGES;</pre>
Для создания необходимых таблиц существуют скрипт:
<pre># /usr/share/bacula/scripts/make_mysql_tables</pre>


=== Настройка Director ===
=== Настройка Director ===

Версия от 08:57, 10 июля 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

Запустим сервис и добавим его в автозагрузку:

# systemctl start mysqld
# systemctl enable mysqld

Подключимся к MySQL:

# mysql -u root -p

Создадим базу bacula:

mysql> CREATE DATABASE `bacula`;

Создадим пользователя bacula с паролем "Pa$$word":

mysql> CREATE USER 'bacula'@'localhost' IDENTIFIED BY 'Pa$$word';

Дадим пользователю права на базу:

mysql> GRANT ALL PRIVILEGES ON `bacula`.* TO 'bacula'@'localhost';
mysql> FLUSH PRIVILEGES;

Для создания необходимых таблиц существуют скрипт:

# /usr/share/bacula/scripts/make_mysql_tables

Настройка 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'"

Ссылки