Duplicity — это утилита для создания зашифрованных и версионируемых инкрементальных резервных копий данных, предназначенная для работы как локально, так и с разнообразными удалёнными хранилищами. Программа реализует стратегию инкрементального резервного копирования поверх объединения зашифрованных и сжатых дельт, что позволяет хранить множество версий данных с экономным использованием места и сетевых ресурсов. Duplicity поддерживает автоматическую шифрацию с помощью стандартных криптографических инструментов и ориентирована на минимальные требования к серверной части удалённого хранилища.
Проект был разработан для Unix-подобных систем и часто используется в окружениях с ограниченными ресурсами или требованиями к безопасности: резервные копии могут передаваться на FTP, SSH/SCP, Amazon S3-подобные сервисы и другие back-end-ы через соответствующие плагины и протоколы. Архитектура Duplicity сочетает в себе создание полной первоначальной резервной копии, последующие инкрементальные снимки изменений и механизм восстановления данных до выбранной точки во времени, при этом возможна проверка целостности и управление политиками хранения.
- Инкрементальное резервное копирование: сохраняет только изменения после последней резервной копии, снижая объёмы передаваемых и хранящихся данных.
- Шифрование: поддержка шифрования резервных данных с использованием общепринятых криптосистем для обеспечения конфиденциальности при хранении и передаче.
- Сжатие: данные сжимаются перед хранением для уменьшения занимаемого пространства.
- Версионирование: позволяет хранить и восстанавливать исторические версий данных на основе набора полных и инкрементальных снимков.
- Совместимость с удалёнными хранилищами: возможность работы с множеством протоколов и сервисов хранения при минимальных требованиях к серверной стороне.
- Проверка целостности: встроенные механизмы контроля целостности резервных данных и обнаружения повреждений.
- Командная строка: управление через CLI с набором опций для автоматизации и интеграции в скрипты и планировщики задач.
- Гибкая политика хранения: настройки ротации и удаления старых резервных копий для управления сроком хранения и объёмом.
- Восстановление по точкам времени: возможность восстановить файлы или каталоги из конкретной версии резервной копии.
- Независимость от сервера: минимальные требования к целевому хранилищу, позволяющие использовать простые файловые хранилища без специального программного обеспечения.