Duplicati для серверов: шифрование, мониторинг, автоматизация
DevOps-инженер сталкивается с задачей: настроить резервное копирование для 20 серверов с разными ОС, облачными хранилищами и требованиями по retention. Duplicati решает это за полдня: веб-интерфейс, шифрование AES-256, 20+ бэкендов — и никакого ручного скриптинга. Уже через час после установки вы видите первый бэкап в облаке, а мониторинг отправляет уведомления в Slack.
Как Duplicati решает проблему потери данных?
Потеря данных из-за сбоя диска или случайного удаления. Duplicati выполняет инкрементальные бэкапы с версионированием: можно откатиться к любой точке за последние 90 дней. Шифрование AES-256 и передача по TLS защищают данные в облаке. В одном проекте мы восстановили базу PostgreSQL после rm -rf: бэкап был на Backblaze B2, restore занял 40 минут.
Сложность настройки расписаний и уведомлений. Встроенный планировщик и интеграция с Healthchecks.io, Slack, email позволяют забыть о ручном контроле. Мы настраиваем алерты на любой сбой: пропущенный бэкап, битый индекс, ошибку хранилища. За год — 0 потерь данных на 15 серверах.
Как настроить бэкап сервера за 5 шагов?
- Установите Duplicati как сервис (systemd).
- Откройте веб-интерфейс на localhost:8200, задайте пароль.
- Создайте задание: выберите бэкенд (S3, B2, SFTP), укажите пути для бэкапа.
- Настройте шифрование: AES-256 с мастер-паролем.
- Установите retention-политику и отправку уведомлений.
# Установка на Debian/Ubuntu
wget https://github.com/duplicati/duplicati/releases/download/v2.0.8.1/duplicati_2.0.8.1-1_all.deb
apt-get install ./duplicati_2.0.8.1-1_all.deb
systemctl enable --now duplicatiВеб-интерфейс доступен на http://localhost:8200. Для продакшн-сервера обязательно настройте авторизацию и привяжите к localhost — публичный доступ к веб-интерфейсу Duplicati без пароля означает доступ к данным бэкапа.
Почему Duplicati, а не скрипты на cron?
Самописные скрипты требуют ручной обработки ошибок, версионирования и уведомлений. Duplicati предоставляет всё из коробки: шифрование, дедупликацию, мониторинг. Вы экономите время на разработке и поддержке — достаточно настроить задание через GUI или CLI.
Как автоматизировать настройку через CLI?
Для серверов без X11 или в автоматизированных деплоях используйте CLI. Пример создания задания с шифрованием и retention:
duplicati-cli backup \
"s3://my-duplicati-backups/server1?aws-access-key-id=AKIA...&aws-secret-access-key=secret&aws-region=eu-central-1" \
/etc /home /var/www \
--encryption-module=aes \
--aes-encryption-key=my-strong-passphrase \
--compression-module=zip \
--retention-policy="7D:1D,4W:1W,12M:1M" \
--exclude-files-attributes=temporary,system \
--exclude="/var/www/*/node_modules"--retention-policy="7D:1D,4W:1W,12M:1M" — хранить ежедневные за 7 дней, еженедельные за 4 недели, ежемесячные за 12 месяцев. Синтаксис: период:интервал.
Мониторинг и алерты
Duplicati умеет отправлять email-уведомления о результатах. В настройках задания (GUI) укажите параметры SMTP. Для интеграции с Healthchecks.io добавьте скрипт в --run-script-after:
#!/bin/bash
# ping-healthchecks.sh
if [ "$DUPLICATI__PARSED_RESULT" = "Success" ]; then
curl -fsS -m 10 https://hc-ping.com/YOUR-UUID
else
curl -fsS -m 10 "https://hc-ping.com/YOUR-UUID/fail"
fiМы используем такой подход на 30+ серверах — алерты приходят в Slack за 30 секунд после сбоя.
| Критерий | Duplicati | Restic/Borg |
|---|---|---|
| Веб-интерфейс | Да | Нет |
| Шифрование | AES-256 (встроено) | AES-256 (встроено) |
| Дедупликация | Внутри задания | Внутри репозитория |
| Скорость для мелких файлов | Средняя | Высокая |
| Поддержка облачных бэкендов | 20+ | 5-7 |
Какие ограничения у Duplicati и когда стоит выбрать Restic?
Duplicati хранит индекс бэкапа локально в SQLite. При большом количестве версий (>100) и миллионах файлов база данных замедляется. Для серверов с сотнями тысяч мелких файлов лучше рассмотреть Restic или Borg — они работают заметно быстрее из-за более эффективного хранения метаданных. Также Duplicati не поддерживает дедупликацию между разными заданиями, в отличие от Restic и Borg, которые дедуплицируют в рамках одного репозитория. Если у вас 10 однотипных серверов — рассмотрите Borg.
Пример retention-политик для разных сценариев
| Сценарий | Retention |
|---|---|
| Веб-сервер (логи + контент) | 7D:1D, 4W:1W, 6M:1M |
| База данных (дампы) | 30D:1D, 12M:1M |
| Файловый сервер (документы) | 90D:1D, 24M:1M |
Что входит в работу
- Аудит текущей схемы бэкапов и доработка retention.
- Настройка Duplicati (или миграция с другого решения) с шифрованием и мониторингом.
- Документирование процедур восстановления (runbook).
- Интеграция с системой алертов (Healthchecks, Slack, email).
- Передача доступа и обучение инженеров.
- Тестовый restore в рамках проекта.
Сроки и стоимость
Срок настройки: 0.5–2 дня в зависимости от количества серверов и сложности. Стоимость рассчитывается индивидуально — свяжитесь для оценки.
Наши инженеры имеют 10+ лет опыта в резервном копировании и сертификаты AWS, Kubernetes. 5 лет на рынке, более 50 выполненных проектов по бэкапированию. Закажите аудит вашей схемы бэкапов — получите консультацию. Свяжитесь с нами для индивидуальной оценки — мы подберем оптимальное решение.







