UMGUM.COM (лучше) 

Bacula BSR + email ( Налаживаем отправку BSR-файлов на электронную почту. )

5 мая 2018  (обновлено 20 января 2019)

OS: "Linux Debian Wheezy/Jessie/Stretch".
Application: "Bacula Dir 5.2/7.4".

Задача: обеспечить избыточную надёжность хранения описаний имеющихся наборов резервных копий.

Наряду с сохранением сведений об отработавших заданиях резервного копирования в "базе данных" часть таковых записываются в сопроводительный текстовый bootstrap-файл. В BSR-файле ("bootstrap file") аккумулируется набор параметров, указывающий на месторасположение файлов резервных копий ("томов") и смещение их блоков внутри файлов "тома" - этого достаточно, чтобы извлечь срез резервной копии за желаемый период, используя утилиту "bextract".

Как правило BSR-файлы складываются где-то в файловой системе сервера резервного копирования, но я полагаю, что этого мало, и хочу сохранять их где-то ещё. Буду отправлять их почтой.


Учитывая, что политика формирования BSR-файла едина, я предпочитаю вынести соответствующие настройки в отдельный конфигурационный файл, подключаемый при необходимости:

# vi /etc/bacula/includes/bsr.conf

# Указываем месторасположение для файла резервного описания "томов" использованных при исполнении задания, с помощью которой данные могут быть восстановлены из резервной копии без наличия подключения к "Bacula Catalog"
Write Bootstrap = "/var/lib/bacula/bsr/%n.bsr"

# Отправляем BSR-файл на почту администратору по результатам каждого исполнения задания
RunScript {
  RunsWhen = After; RunsOnFailure = yes; RunsOnClient = no;
  Command = "/bin/bash -c '/usr/sbin/bsmtp -8 -h mx.example.net:25 -f bacula@example.net -s \"Bacula: Bootstrap of %n\" admin@example.net < /var/lib/bacula/bsr/%n.bsr'"
}

В описании каждого задания резервного копирования укажем включать конфигурацию для BSR:

# vi /etc/bacula/client.d/example.net.conf

....
Job {
  ....

  # Подключаем конфигурацию для файла резервного описания задания ".bsr"
  # (это включение должно быть одним из последних в описании задания)
  @/etc/bacula/includes/bsr.conf
}

Проверяем корректность конфигурации средствами самого "Bacula" и даём команду принять таковую:

# bacula-dir -c /etc/bacula/bacula-dir.conf -t
# /etc/init.d/bacula-director reload


Заметки и комментарии к публикации:


Оставьте свой комментарий ( выразите мнение относительно публикации, поделитесь дополнительными сведениями или укажите на ошибку )