hostprofi.ru
Подобрать хостинг
Термин·буква B

BorgBackup

краткое определение

Дедуплицирующий инструмент резервного копирования с шифрованием AES-256 и сжатием.

BorgBackup (Borg) — дедуплицирующий инструмент резервного копирования с шифрованием. Ключевая особенность: дедупликация на уровне блоков данных позволяет хранить годовой архив ежедневных снимков почти того же размера, что один полный бекап.

Как работает

Borg разделяет данные на чанки (по умолчанию 2-8 MB) и вычисляет хеш каждого. При создании нового снимка чанки, идентичные уже сохранённым, не записываются повторно — только хранится ссылка. 100 GB данных с изменением 1% в сутки: через 30 дней архив займёт 130 GB вместо 3000 GB при наивном подходе.

Шифрование встроено и включено по умолчанию: AES-256-CTR + HMAC-SHA256. Ключ защищён парольной фразой. Снимок зашифрован до передачи на удалённый сервер — провайдер хранилища не имеет доступа к содержимому.

Установка и базовые операции

# Установка
apt install borgbackup   # Debian/Ubuntu
pip install borgbackup   # через pip

# Инициализация репозитория (с шифрованием)
borg init --encryption=repokey-blake2 user@backup-server:/backups/myrepo

# Создание снимка
borg create --stats --compress lz4     user@backup-server:/backups/myrepo::daily-$(date +%Y%m%d)     /var/www /etc /home

# Список снимков
borg list user@backup-server:/backups/myrepo

# Восстановление
borg extract user@backup-server:/backups/myrepo::daily-20240101

# Проверка целостности
borg check user@backup-server:/backups/myrepo

История

BorgBackup — форк Attic (2013), созданный сообществом после замедления разработки оригинала. Имя Borg — отсылка к Star Trek. С 2015 года активно развивается: Borg 1.1 (2017) добавил сжатие zstd, Borg 1.2 (2022) — улучшенный компрессор и более быстрое удаление снимков. Borg 2.0 в разработке с поддержкой параллельного чтения.

Автоматизация через borgmatic

borgmatic — обёртка над Borg для автоматизации через cron:

# /etc/borgmatic/config.yaml
location:
    source_directories: [/var/www, /etc, /home]
    repositories: [user@backup:/repo]
retention:
    keep_daily: 7
    keep_weekly: 4
    keep_monthly: 6
hooks:
    on_error:
        - echo "Backup failed!" | mail -s "Borg Error" admin@example.com

borgmatic запускается через systemd timer или cron, создаёт снимок, применяет политику ротации и при ошибке отправляет уведомление.

Borg vs rsync vs tar

ИнструментДедупликацияШифрованиеУдалённые бекапы
BorgBackupБлочнаяAES-256 встроеноНативно через SSH
rsyncФайловая (--link-dest)НетSSH
tarНетЧерез gpgЧерез SSH/FTP вручную

На что обращать внимание

Репозиторий Borg нельзя читать напрямую как файловую систему — только через borg extract или mount. Borg mount создаёт FUSE-файловую систему для просмотра снимков без полного восстановления. Резервную копию самого репозитория и парольной фразы храните отдельно: потеря ключа = потеря всех данных. На VPS с малым объёмом RAM (512 MB) Borg потребляет много памяти при больших репозиториях — увеличьте swap.

Для мониторинга бекапов интегрируйте Borg с Grafana: borgmatic отправляет метрики о статусе, размере репозитория и времени выполнения через prometheus-файл или PUSH в Pushgateway. Алерт о пропущенном бекапе (up{job="borgmatic"} == 0) приходит в Telegram.

Другие термины