Налаштування Duplicati: шифрування, моніторинг, автоматизація

Втрата даних через збій диска або випадкове видалення — ризик, який не можна ігнорувати. Ми налаштовуємо Duplicati для серверів: шифруємо бекапи, організовуємо моніторинг та автоматизуємо резервне копіювання. Наша команда реалізує проєкт під ключ — від аудиту до відновлення, забезпечуючи надійний захист і подальшу підтримку.
Часті запитання

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 кроків?

  1. Встановіть Duplicati як сервіс (systemd).
  2. Відкрийте веб-інтерфейс на localhost:8200, задайте пароль.
  3. Створіть завдання: виберіть бекенд (S3, B2, SFTP), вкажіть шляхи для бекапу.
  4. Налаштуйте шифрування: AES-256 з майстер-паролем.
  5. Встановіть 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 виконаних проєктів з бекапування. Замовте аудит вашої схеми бекапів — отримайте консультацію. Зв'яжіться з нами для індивідуальної оцінки — ми підберемо оптимальне рішення.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    815
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139