Bacula — мощная open-source система резервного копирования для корпоративных и провайдерских сред. Построена по принципу клиент-сервер с разделением ответственности между компонентами. Поддерживает резервное копирование Linux, Windows, macOS, баз данных (MySQL, PostgreSQL) и управление ленточными библиотеками.
Компоненты
- Bacula Director — центральный управляющий демон. Расписания, политики, конфигурация.
- Bacula Storage Daemon (SD) — управляет физическим хранилищем (диски, ленты).
- Bacula File Daemon (FD) — агент на каждом клиенте, выполняет резервирование.
- Bacula Catalog — база данных (PostgreSQL/MySQL) с метаданными всех бэкапов.
- BCConsole — CLI для управления.
Базовая конфигурация
# /etc/bacula/bacula-dir.conf
Job {
Name = "BackupWebServer"
Type = Backup
Level = Incremental
Client = webserver-fd
FileSet = "WebFiles"
Schedule = "WeeklyCycle"
Pool = Default
Messages = Standard
}
FileSet {
Name = "WebFiles"
Include {
Options { signature = MD5 }
File = /var/www
File = /etc/nginx
}
}
Bacula vs Amanda vs BorgBackup
- Bacula — enterprise, сложная настройка, максимальная гибкость.
- Amanda — проще, популярен в UNIX-среде.
- BorgBackup — современный, дедупликация, шифрование, простота.
- Restic — простейший современный инструмент, S3-совместимые бэкапы.
История
Bacula создан Керном Силибером (Kern Sibb) в 2000 году. Имя «Bacula» происходит от Bram Stoker (Dracula → Bacula, буква B от Backup). В 2008 году Bacula Systems предложила коммерческую поддержку. Bareos (Backup Archiving Recovery Open Sourced) — форк Bacula 2010 года с более активным развитием.
Связь с хостингом
Bacula применяется хостинг-провайдерами для централизованного управления бэкапами сотен серверов клиентов. На VDS Bacula Director централизует бэкапы нескольких серверов. Для небольших инсталляций современная альтернатива — BorgBackup с borgmatic или Restic с репозиторием на S3.
История Bacula
Bacula создан Кернтом Сигелом (Kern Siegel) в 2000 году как open-source альтернатива коммерческим решениям. Распространяется под AGPLv3. Bareos (Backup Archiving Recovery Open Sourced) — форк Bacula 2010 года, более активно развивается. Bacula Enterprise (коммерческая версия) поддерживается Bacula Systems. Архитектура Bacula вдохновлена mainframe-системами IBM и отличается строгим разделением компонентов: Director, Storage Daemon, File Daemon, Console.
Архитектура Bacula
- Bacula Director: центральный управляющий компонент, координирует задания.
- Storage Daemon: управляет записью на tape, диск, S3.
- File Daemon: агент на каждом защищаемом сервере.
- Catalog: база данных (MySQL/PostgreSQL) с метаданными бэкапов.
- Console: CLI для управления.
Применение Bacula/Bareos на хостинге
Bacula подходит для централизованного управления бэкапами нескольких VPS-серверов. Поддерживает все типы резервного копирования (Full, Incremental, Differential). Особенность: расписание задается в формате Bacula-конфига (Schedule { Run = Full 1st sun at 23:05 }), а не cron. Для небольших проектов предпочтительнее rsync + rclone из-за простоты настройки.
Типичные ошибки
- Потеря Catalog-базы — задание может существовать, но Bacula не знает о нём.
- Неправильно настроенный Volume Retention — старые тома не удаляются, заканчивается место.
- Не проверяется результат задания: Bacula завершает задание со статусом OK даже при частичных ошибках.