Что это
Restic и BorgBackup — инструменты для инкрементального резервного копирования с дедупликацией на стороне клиента. Restic написан на Go и ориентирован на работу с облачными провайдерами напрямую. BorgBackup (Borg) написан на Python и C, оптимизирован для работы через SSH и локальные хранилища.
| Параметр | Restic | BorgBackup |
|---|---|---|
| Язык разработки | Go | Python / C |
| Сжатие | ZSTD (с v0.14) | LZ4, ZSTD, Zlib |
| Облака (S3, B2, Azure) | Нативная поддержка | Через rclone или SSH |
| Тип дедупликации | Content-defined | Content-defined |
| Формат поставки | Статический бинарный файл | Зависимости Python |
Производительность
BorgBackup демонстрирует более высокую скорость обработки данных за счет зрелых алгоритмов сжатия и эффективного кеширования индексов на локальном диске. В тестах на наборах данных более 1 ТБ Borg потребляет меньше оперативной памяти (около 10-20 МБ на 1 ГБ данных), в то время как Restic может требовать до 1 ГБ RAM на каждые 1 ТБ проиндексированных данных в зависимости от размера чанков. Restic медленнее работает с удаленными репозиториями из-за специфики протоколов HTTP/S3 по сравнению с бинарным протоколом Borg через SSH.
Конфигурация и сложность
Restic поставляется как один исполняемый файл, не требующий установки зависимостей. Инициализация репозитория в S3: restic -r s3:s3.amazonaws.com/bucket init. Borg требует наличия Python и библиотек в системе. Для работы с удаленным сервером Borg должен быть установлен на обеих сторонах (клиент и сервер), что усложняет деплой, но повышает безопасность и скорость за счет обработки данных на стороне сервера.
Когда выбрать что
- Restic: Резервное копирование напрямую в AWS S3, Google Cloud Storage или Backblaze B2 без промежуточных серверов. Идеально для эфемерных контейнеров и Kubernetes.
- BorgBackup: Хранение бэкапов на выделенных серверах или NAS через SSH. Необходим в сценариях, где критична экономия места за счет сильного сжатия (ZSTD) и высокая скорость восстановления.
Стоимость / лицензия
Оба проекта распространяются под свободными лицензиями: Restic — BSD 2-clause, BorgBackup — BSD 3-clause. Использование бесплатно, затраты формируются только стоимостью хранилища и трафика (egress) при работе с облаками.
Экосистема и интеграции
Для Restic популярны обертки autorestic и resticprofile, упрощающие управление YAML-конфигами. Для Borg стандартом является borgmatic, который автоматизирует бэкап баз данных и мониторинг. Графический интерфейс Vorta доступен преимущественно для Borg.
Вердикт
Выбирайте Restic, если инфраструктура завязана на облачные объектные хранилища и требуется максимально простая установка. Выбирайте BorgBackup для классических серверных инфраструктур, где важна плотность хранения данных и скорость работы по SSH.