Раскрыть |
---|
|
Информация |
---|
Директору сообщаем: Имя Директора Местонахождение его базы данных и параметры подключения к ней Другую основную служебную информацию Как должны с ним общаться другие компоненты Как он должен общаться с другими компонентами Какие задания он должен выполнять Где он должен выполнять эти задания Набор файлов и как с этими файлами надо работать при выполнении заданий По каким расписаниям и с каким приоритетом выполнять задания С какими томами и пулами (группами томов) работать при выполнении заданий Как и куда сообщать о своем состоянии и работах
|
|
...
Раскрыть |
---|
title | Конфигурация набора файлов Клиента: |
---|
|
Command |
---|
FileSet { # Имя Клиента Name = "Full Set" # Секция содержит пути к резервируемым файлам/каталогам Include { # Секция определяющая параметры резервирования файлов/каталогов Options { # Параметр указывает алгоритм вычисления контрольных сумм файлов # разработчики яро рекомендуют использовать это опцию, # создается сигнатура забекапленных файлов в md5 signature = MD5 # Параметр указывает алгоритм компрессии файлов Compression = GZIP # Параметр указывает на необходимость рекурсивного резервирования, recurse = yes # Параметр указывающий на необходимость сохранения ACL информации aclsupport = yes # указывает на возможность включения поддержки расширенных атрибутов, # !!! это обязательный параметр для работы с мандатными метками безопасности
xattrsupport = yes } # При наличии в пути пробелов нужно использовать двойные кавычки # Слэш нужно всегда экранировать, или можно использовать бэкслэш. File = /home } # Секция содержит пути к файлам/каталогам, # которые необходимо исключить из списка резервируемых Exclude { File = /tmp } } |
|
...
Раскрыть |
---|
title | Конфигурация набора файлов Bacula Catalog: |
---|
|
Command |
---|
FileSet { # Имя Клиента Name = "Catalog" # Секция содержит пути к резервируемым файлам/каталогам Include { # Секция определяющая параметры резервирования файлов/каталогов Options { # Параметр указывает алгоритм вычисления контрольных сумм файлов # разработчики яро рекомендуют использовать это опцию, # создается сигнатура забекапленных файлов в md5 signature = MD5 # Параметр указывает алгоритм компрессии файлов Compression = GZIP # Параметр указывающий на необходимость сохранения ACL информации aclsupport = yes # указывает на возможность включения поддержки расширенных атрибутов, # !!! это обязательный параметр для работы с мандатными метками безопасности xattrsupport = yes } # При наличии в пути пробелов нужно использовать двойные кавычки # Слэш нужно всегда экранировать, или можно использовать бэкслэш. File = /var/lib/bacula/bacula.sql } } |
|
...
Раскрыть |
---|
title | Конфигурация файла задания резервирования файлов Bacula Catalog: |
---|
|
Command |
---|
Job { # Имя задания Name = "BackupCatalog" # Имя шаблонного задания JobDefs = "DefaultJob" # Уровень бэкапа Level = Full # Набор восстанавливаемых файлов FileSet="Catalog" # Расписание Schedule = "WeeklyCycleAfterBackup" # скрипт выполняемый до основного задания RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl BaculaCatalog" # скрипт выполняемый после основного задания RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup" # Файл хранит информацию откуда извлекать данные при восстановлении Write Bootstrap = "/var/lib/bacula/%n.bsr" # Приоритет запуска после выполнения основного бекапа Priority = 11 } |
|
Присвоение необходимых прав созданным файлам и папкам и назначение им владельца (chmod and chown on file's and dir's)
Далее нам необходимо присвоить необходимые права созданным файлам и папкам и назначить им владельца командами:
Для того, чтобы при выполнении резервного копирования не регистрировались ошибки вида:
Блок кода |
---|
14-июл 13:47 dir-dir JobId 3: shell command: run AfterJob "/etc/bacula/scripts/delete_catalog_backup"
14-июл 13:47 dir-dir JobId 3: Error: Runscript: AfterJob returned non-zero status=208. ERR=Нет такого файла или каталога |
следует в файле /etc/bacula/job.d/catalog.conf закомментировать параметры RunBeforeJob и RunAfterJob, определяющие файлы сценариев, автоматически вызыветмых до и после выполнения резервного копирования (или создать эти файлы с пустыми сценариями для дальнейшего использования):
Блок кода |
---|
# скрипт выполняемый до основного задания
#RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl BaculaCatalog"
# скрипт выполняемый после основного задания
#RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup" |
Присвоение необходимых прав созданным файлам и папкам и назначение им владельца (chmod and chown on file's and dir's)
Далее нам необходимо присвоить необходимые права созданным файлам и папкам и назначить им владельца командами:
Раскрыть |
---|
title | Команды присвоения необходимых прав созданным файлам и папкам и назначения им владельца: |
---|
|
Раскрыть |
---|
title | Команды присвоения необходимых прав созданным файлам и папкам и назначения им владельца: |
---|
|
Command |
---|
sudo chmod 644 /etc/bacula/bacula-dir.conf sudo chown root:bacula /etc/bacula/bacula-dir.conf sudo chmod 755 /etc/bacula/job.d/ sudo chown root:bacula /etc/bacula/job.d/ sudo chmod 644 /etc/bacula/job.d/* sudo chown root:bacula /etc/bacula/job.d/* sudo chmod 755 /etc/bacula/client.d/ sudo chown root:bacula /etc/bacula/client.d/ sudo chmod 644 /etc/bacula/client.d/* sudo chown root:bacula /etc/bacula/client.d/* sudo chmod 755 /etc/bacula/fileset.d/ sudo chown root:bacula /etc/bacula/fileset.d/ sudo chmod 644 /etc/bacula/fileset.d/* sudo chown root:bacula /etc/bacula/fileset.d/* sudo chmod 755 /etc/bacula/schedule.d/ sudo chown root:bacula /etc/bacula/schedule.d/ sudo chmod 644 /etc/bacula/schedule.d/* sudo chown root:bacula /etc/bacula/schedule.d/* |
|
...
Если все настроено правильно, то никаких сообщений об ошибках мы не увидим.Если что Если что то пошло не так - смотрим логи журналы Bacula и системы, разбираемся с правами доступа в папки проверяем права доступа к каталогам и к файлам самой Bacula на Директоре.Так же для понимания что не так Так же пониманию возникших ошибок хорошо помогает результат анализ вывода команды:
Command |
---|
sudo journalctl -xe |
...
Раскрыть |
---|
title | Альтернативный вариант: |
---|
|
Создаем сценарий ImaLazyAss2script.sh со следующим содержимым: Предупреждение |
---|
Данный сценарий предоставлен в ознакомительных целях и подразумевает его использование пользователем исключительно на свой страх и риск. перед Перед выполнением сценария присвоить ему маску 777 ( sudo chmod 777 ImaLazyAss2script.sh ) выполнять Выполнять сценарий из под администратора системы с высоким МКЦ и с использованием механизма sudo ( sudo ./ImaLazyAss2script.sh ) при При копировании проверяйте правильность указанных IP адресов и синтаксис (точки, пробелы, слэши, кавычки, апострофы и тп - могут быть неправильно перенесены) Данный сценарий лишь открывает на редактирование созданные файлы, а не заполняет их!!! |
Command |
---|
#!/bin/bash mkdir /etc/bacula/backup-default-conf mv /etc/bacula/bacula-dir.conf /etc/bacula/backup-default-conf/bacula-dir.conf touch /etc/bacula/bacula-dir.conf mcedit /etc/bacula/bacula-dir.conf mkdir /etc/bacula/schedule.d/ mkdir /etc/bacula/client.d/ mkdir /etc/bacula/fileset.d/ mkdir /etc/bacula/job.d/ touch /etc/bacula/schedule.d/dir-fd.conf mcedit /etc/bacula/schedule.d/dir-fd.conf touch /etc/bacula/schedule.d/catalog.conf mcedit /etc/bacula/schedule.d/catalog.conf touch /etc/bacula/client.d/dir-fd.conf mcedit /etc/bacula/client.d/dir-fd.conf touch /etc/bacula/fileset.d/dir-fd.conf mcedit /etc/bacula/fileset.d/dir-fd.conf touch /etc/bacula/fileset.d/catalog.conf mcedit /etc/bacula/fileset.d/catalog.conf touch /etc/bacula/job.d/backup-dir-fd.conf mcedit /etc/bacula/job.d/backup-dir-fd.conf touch /etc/bacula/job.d/restore-dir-fd.conf mcedit /etc/bacula/job.d/restore-dir-fd.conf touch /etc/bacula/job.d/catalog.conf mcedit /etc/bacula/job.d/catalog.conf chmod 644 /etc/bacula/bacula-dir.conf chown root:bacula /etc/bacula/bacula-dir.conf chmod 755 /etc/bacula/job.d/ chown root:bacula /etc/bacula/job.d/ chmod 644 /etc/bacula/job.d/* chown root:bacula /etc/bacula/job.d/* chmod 755 /etc/bacula/client.d/ chown root:bacula /etc/bacula/client.d/ chmod 644 /etc/bacula/client.d/* chown root:bacula /etc/bacula/client.d/* chmod 755 /etc/bacula/fileset.d/ chown root:bacula /etc/bacula/fileset.d/ chmod 644 /etc/bacula/fileset.d/* chown root:bacula /etc/bacula/fileset.d/* chmod 755 /etc/bacula/schedule.d/ chown root:bacula /etc/bacula/schedule.d/ chmod 644 /etc/bacula/schedule.d/* chown root:bacula /etc/bacula/schedule.d/* cp /etc/bacula/bat.conf /etc/bacula/backup-default-conf/bat.conf mcedit /etc/bacula/bat.conf cp /etc/bacula/bconsole.conf /etc/bacula/backup-default-conf/bconsole.conf mcedit /etc/bacula/bconsole.conf systemctl restart bacula-director.service |
|
...