Что это
rsync — это утилита для передачи и синхронизации файлов, работающая по алгоритму дельта-копирования. Restic — это кроссплатформенная система резервного копирования, ориентированная на безопасность и эффективность хранения через дедупликацию.
| Параметр | rsync | Restic |
|---|---|---|
| Основная цель | Синхронизация файлов | Резервное копирование |
| Дедупликация | Отсутствует | Content-Defined Chunking |
| Шифрование | Только при передаче (SSH) | AES-256 (на стороне клиента) |
| Версионность | Требует внешних скриптов | Нативная (снимки/snapshots) |
| Облачные хранилища | Нет (нужен rclone) | S3, Azure, B2, Swift нативно |
Производительность
rsync минимизирует сетевой трафик, передавая только измененные части файлов. Однако при работе с миллионами мелких файлов rsync тратит значительное время на построение дерева файлов перед передачей. Restic использует индексацию и дедупликацию на уровне блоков. В сценариях с ежедневными бэкапами баз данных Restic потребляет в 5-10 раз меньше места в хранилище за счет того, что одинаковые блоки данных сохраняются только один раз. Скорость сканирования в Restic выше благодаря параллельной обработке данных.
Конфигурация и сложность
rsync запускается одной командой и не требует предварительной настройки репозитория: rsync -avz /src/ user@host:/dst/. Restic требует инициализации репозитория и управления паролями для доступа к зашифрованным данным. Команда бэкапа выглядит так: restic -r s3:s3.amazonaws.com/bucket backup /data. Restic сложнее в первичной настройке из-за необходимости управления ключами и переменными окружения для доступа к облакам.
Когда выбрать что
rsync подходит для:
- Миграции данных между серверами.
- Деплоя статического контента.
- Зеркалирования директорий в реальном времени.
- Долгосрочного хранения архивов с глубиной в несколько месяцев.
- Бэкапа в S3-совместимые облака без промежуточных слоев.
- Защиты конфиденциальных данных, которые нельзя хранить в открытом виде на удаленном сервере.
Стоимость / лицензия
Оба инструмента являются бесплатными и имеют открытый исходный код. rsync распространяется под лицензией GPLv3, Restic — под лицензией BSD 2-Clause. Основные затраты при использовании Restic связаны с оплатой API-запросов и объема хранения в облачных провайдерах.
Экосистема и интеграции
rsync является стандартом де-факто в Linux-системах и предустановлен почти в каждом дистрибутиве. Restic — это один бинарный файл на Go, который легко интегрируется в CI/CD пайплайны. Существуют обертки вроде Autorestic или Restatic для автоматизации задач по расписанию.
Вердикт
Выбирайте rsync для быстрой передачи файлов и разовых задач синхронизации. Выбирайте Restic, если вам нужна полноценная стратегия бэкапа с версионностью, экономией места и защитой данных от компрометации на стороне хранилища.