borgmatic — это простая конфигурационно-ориентированная оболочка для резервного копирования, разработанная для автоматизации работы с BorgBackup и сопутствующими задачами. Проект предоставляет утилиту, которая упрощает создание, проверку и управление архивами Borg посредством декларативных конфигурационных файлов; цель — снизить сложность настройки резервного копирования и обеспечить повторяемость операций в разнообразных окружениях.
Инструмент появился как ответ на потребность в удобной обёртке вокруг BorgBackup, позволяющей задать набор правил и политик в одном месте: какие каталоги сохранять, какие исключения применять, как проводить проверку целостности и как управлять хранением архивов (ретеншн-политики). В своей архитектуре borgmatic фокусируется на генерации и выполнении команд Borg по заранее заданной конфигурации, а также на интеграции с почтовыми уведомлениями, планировщиками и механизмами шифрования, если они используются в репозитории.
- Декларативная конфигурация: единый YAML-файл для описания источников данных, исключений, расписания и политик хранения.
- Автоматизация операций: создание резервных копий, проверка целостности (prune и check), восстановление и управление репозиторием через простые команды оболочки.
- Поддержка ретеншн-политик: автоматическое удаление старых архивов по правилам сохранения поколений, дней, недель и месяцев.
- Интеграция с BorgBackup: генерация корректных команд и параметров для использования преимуществ Borg, включая дедупликацию и сжатие.
- Мониторинг и уведомления: возможность отправки отчётов о выполнении резервного копирования и ошибках через электронную почту или системные логи.
- Шифрование и ключи: совместимость с механизмами шифрования Borg для безопасного хранения данных в удалённых репозиториях.
- Портируемость и скрипты: возможность запуска в разных Unix-подобных окружениях, в том числе в контейнерах и автоматических задачах cron/systemd.
- Простота использования: минималистичный интерфейс командной строки и готовые шаблоны конфигураций для типичных сценариев.
- Диагностика и отчёты: встроенные проверки состояния репозитория и формирование человекочитаемых логов для упрощения обслуживания.
- Сообщество и расширяемость: проект развивается открыто, поддерживает добавление пользовательских хуков и скриптов для интеграции с внешними системами.