Borg Backup + borgmatic: автоматические бэкапы без облачных подписок
Как настроить надёжное резервное копирование сервера с шифрованием и ротацией — без Google Drive, Dropbox и ежемесячных платежей.
Облачные хранилища удобны, пока речь не идёт о 200 ГБ бэкапов сервера или о чувствительных данных клиентов. Google Drive и Dropbox сканируют содержимое, а цены растут пропорционально объёму. Есть способ делать бэкапы дешевле, быстрее и с полным контролем — хранить их на своём сервере или у доверенного провайдера.
Почему именно BorgBackup
Borg — это дедуплицирующий архиватор с шифрованием AES-256 и сжатием. Он хранит историю версий, но при этом экономит место: повторяющиеся блоки файлов записываются один раз. Для сервера с сайтом и почтой разница между полным и инкрементальным бэкапом часто составляет 90–95 %.
Ключевые преимущества:
- Шифрование на стороне клиента. Ключ находится только у вас. Даже если бэкап украдут, прочитать его невозможно.
- Дедупликация. 30 дневных копий занимают не в 30 раз больше места, а в 2–3.
- Проверка целостности. Borg сверяет хеш-суммы при каждом запуске. Повреждённый архив он обнаружит сразу.
- Открытый исходный код. Никаких лицензий, никакого вендор-локина.
Что такое borgmatic и зачем он нужен
Borg сам по себе требует длинных команд с указанием путей, исключений и ретеншена. Borgmatic — это обёртка, которая превращает всё это в один YAML-файл конфигурации. Один раз настроил — дальше работает по cron.
Пошаговая настройка
1. Установка
На Debian/Ubuntu:
sudo apt install borgbackup borgmatic
На Alpine:
sudo apk add borgbackup borgmatic
2. Инициализация репозитория
Репозиторий может находиться на локальном диске, внешнем накопителе или удалённом сервере по SSH.
export BORG_REPO=/mnt/backup/borg
export BORG_PASSPHRase='очень_сложный_пароль_минимум_16_символов'
borg init --encryption=repokey-blake2 $BORG_REPO
Пароль сохраните в менеджер паролей. Без него архив не восстановить.
3. Конфигурация borgmatic
Генерируем шаблон:
sudo generate-borgmatic-config --destination /etc/borgmatic/config.yaml
Минимальный рабочий конфиг для веб-сервера:
location:
source_directories:
- /var/www
- /etc/nginx
- /var/mail
- /home
repositories:
- /mnt/backup/borg
exclude_patterns:
- /var/www/*/cache
- /home/*/.cache
retention:
keep_daily: 7
keep_weekly: 4
keep_monthly: 6
consistency:
checks:
- repository
- archives
check_last: 3
Это означает: хранить 7 дневных, 4 недельные и 6 месячных копий. Старые удаляются автоматически.
4. Проверка и первый запуск
sudo borgmatic --verbosity 1 --files
Если ошибок нет — добавляем в cron:
sudo crontab -e
0 3 * * * /usr/bin/borgmatic --syslog-verbosity 1
Каждую ночь в 3:00 система создаст инкрементальный бэкап, проверит его целостность и удалит устаревшие копии.
Удалённое хранение: правило 3-2-1
Идеальная схема — три копии данных, на двух носителях, одна из которых в другом месте. Для малого бизнеса это может выглядеть так:
- Локальный бэкап на отдельный диск сервера.
- Бэкап на VPS у другого провайдера через SSH.
- Критичные данные — на зашифрованном внешнем диске, который хранится офлайн.
Borg прекрасно работает по SSH. Для автоматизации создайте отдельного пользователя с ограниченным доступом и ключом без парольной фразы (только для borg).
Восстановление: самый важный момент
Бэкап, который никто не проверял, — это рулетка. Раз в квартал делайте тестовое восстановление:
# Список архивов
borg list $BORG_REPO
# Монтирование архива для просмотра
mkdir /tmp/restore
borg mount $BORG_REPO::archive-name /tmp/restore
# Полное восстановление
borg extract $BORG_REPO::archive-name var/www
Сколько это стоит
Если бэкап хранится на том же сервере — только место на диске. Для удалённого хранения подойдёт самый дешёвый VPS за 200–400 ₽/мес. Сравните с 10–20 $/мес за облачное хранилище тех же объёмов.
Итог
Borg + borgmatic дают вам полный контроль над резервным копированием: шифрование, ротация, проверка и восстановление — без сторонних сервисов, подписок и сканирования ваших данных. Настройка занимает 30 минут, а работает годами.
Похожие материалы
- Инфраструктура на вашем сервере — мониторинг и резервное копирование входят в базовую настройку сервера.
- Кейс: аудит безопасности после компрометации — почему рабочая схема бэкапов — не опция, а часть плана восстановления после инцидента.
Если нужна помощь с настройкой бэкапов для вашего сервера — напишите, базовая диагностика бесплатно.