Duplicati — кроссплатформенный клиент бэкапа (Windows, Linux, macOS) с веб-интерфейсом для настройки расписаний и восстановления. Работает по принципу инкрементальных бэкапов с дедупликацией: данные разбиваются на блоки по 100 КБ, дублирующиеся блоки хранятся однократно.
Как работает
Duplicati разбивает файлы на блоки, вычисляет SHA-256 хеш каждого. Хранит только уникальные блоки — если один файл встречается в нескольких местах или версиях, блок сохраняется один раз. Результат упаковывается в зашифрованные dblock-файлы (по умолчанию 50 МБ каждый).
Шифрование: AES-256 с ключом из пароля (PBKDF2). Шифрование происходит на клиенте до отправки в хранилище — провайдер не видит данные. Поддерживается GPG-шифрование.
Восстановление: через веб-интерфейс выбирается версия бэкапа и конкретные файлы или директории. Для полного восстановления с нуля нужны dindex и dlist файлы из хранилища.
История
Duplicati 1.0 выпущен в 2008 году как форк Duplicity (командная строка). Duplicati 2.0 переписан полностью в 2017 году — добавлен веб-интерфейс и улучшена архитектура. Написан на C#, работает через Mono на Linux. Активно развивается сообществом, >8000 звёзд на GitHub.
Поддерживаемые хранилища
- Облачные: Amazon S3, Azure Blob, Google Drive, Backblaze B2, Wasabi.
- Протоколы: SFTP, FTP, WebDAV, SMB.
- Специализированные: Jottacloud, Box, Mega, OneDrive.
- Локальные: локальная директория, сетевой диск.
Связь с хостингом
На VPS Duplicati запускается как системный сервис через systemd. Типичная схема: VPS → бэкап баз данных + файлов сайта → Backblaze B2 (от $6/ТБ/мес). Настройка retention: хранить 7 ежесуточных, 4 еженедельных, 12 ежемесячных версий.
Ключевые отличия от похожих терминов
R1Soft — агентский CDP-бэкап для хостинг-провайдеров, платный. Duplicati — файловый бэкап для самостоятельной настройки, бесплатный. Restic — аналог Duplicati в командной строке, быстрее на больших данных. BorgBackup — дедупликация + шифрование + Linux-фокус.
Принцип работы Duplicati
Duplicati (open source, .NET) — шифрованный дедуплицированный бэкап. Блоки данных дедуплицируются и шифруются (AES-256) перед отправкой в хранилище. Поддерживает: S3, Backblaze B2, Google Drive, Yandex Disk, SFTP, WebDAV, Dropbox.
Настройка расписания
WebUI на localhost:8200. Расписание через встроенный планировщик. Retention policies: хранить 7 ежедневных, 4 еженедельных, 12 ежемесячных. Duplicati.CommandLine.exe backup backup://... --retention-policy="1W:1D,4W:1W,12M:1M".
Ограничения Duplicati
Медленнее restic на больших объёмах данных. Слабее в масштабировании по сравнению с R1Soft. Нет agent-based CDP. Для личного сервера и небольших проектов — отличный выбор. Для production с требованиями RPO < 1 часа — restic или специализированные решения.
Duplicati vs Restic
Restic: написан на Go, быстрее на больших объёмах, лучше дедупликация. Интеграция с rclone для отправки в любое хранилище. restic backup /var/www && restic forget --keep-daily 7 --prune. Командная строка vs GUI: Restic — только CLI, Duplicati — GUI + CLI. Оба поддерживают шифрование и remote storage.