- Home »

Автоматическое резервное копирование в облако с Duplicati: веб-интерфейс и расписание
В этой статье разберём, как автоматизировать резервное копирование на сервере с помощью Duplicati — простого, но мощного инструмента с веб-интерфейсом, который умеет делать бэкапы в облако по расписанию. Если тебе надоело вручную гонять архивы по FTP, бояться за потерю данных или просто хочется спать спокойно, зная, что бэкапы делаются сами и лежат где надо — добро пожаловать. Здесь будет минимум теории и максимум практики, с примерами, схемами и советами для тех, кто любит, чтобы всё работало просто и понятно.
О чём и зачем эта статья
Если ты управляешь VPS, выделенным сервером или даже домашним NAS — ты знаешь, что резервное копирование (бэкап) это не опция, а необходимость. Жёсткие диски умирают, базы данных портятся, файлы случайно удаляются, а иногда — прилетает тот самый «rm -rf /» в 3 часа ночи. Бэкапы — твоя страховка.
Но вручную копировать данные — боль. Скрипты и rsync хороши, но хочется чего-то более гибкого, с нормальным интерфейсом и поддержкой облака. Вот тут и появляется Duplicati — бесплатный, кроссплатформенный инструмент, который умеет всё это и даже больше.
В этой статье:
- Разберём, как устроен Duplicati и чем он крут.
- Покажу, как быстро развернуть его на сервере (в том числе через Docker).
- Настроим автоматическое резервное копирование в облако с расписанием.
- Покажу реальные примеры, грабли новичков и лайфхаки.
- Сравню с альтернативами и расскажу, где Duplicati реально рулит.
Почему вообще стоит заморачиваться с бэкапами?
Потому что:
- Диски и SSD умирают. Всегда.
- Человеческий фактор — никто не застрахован от случайного удаления или порчи данных.
- Вирусы, криптолокеры, баги ПО — всё это случается внезапно.
- Облако — это не только про хранение файлов, но и про offsite (за пределами сервера) бэкапы. Если пожар или потоп, облако спасёт.
Неважно, что у тебя — сайт, база данных, файлопомойка или личные фотки. Если нет бэкапа — нет данных.
Как работает Duplicati? Архитектура и алгоритмы
Duplicati — это open-source инструмент для резервного копирования, который работает поверх .NET/Mono (то есть и на Linux, и на Windows, и на macOS). Основная фишка — удобный веб-интерфейс для настройки и управления бэкапами, плюс поддержка кучи облачных хранилищ (S3, Google Drive, Dropbox, Backblaze B2, WebDAV, FTP, SFTP и т.д.).
Кратко о структуре:
- Бэкап делится на задачи (backup jobs), каждая из которых настраивается отдельно (что копировать, куда, как часто, шифровать ли и т.д.).
- Данные разбиваются на маленькие блоки (по умолчанию 50 МБ), шифруются (AES-256), сжимаются (ZIP), и отправляются в выбранное хранилище.
- Есть поддержка инкрементальных бэкапов — отправляются только изменённые данные, экономя трафик и место.
- Вся логика управления — через веб-интерфейс (или командную строку, если хочется).
- Есть планировщик заданий (scheduler) — можно настроить расписание хоть раз в минуту, хоть раз в месяц.
- Восстановление (restore) — можно вытащить как отдельные файлы, так и весь архив.
Поддерживаемые хранилища
Duplicati работает с:
- Amazon S3, Backblaze B2, Google Drive, Dropbox, OneDrive, Yandex.Disk, Mega и десятками других.
- FTP, SFTP, WebDAV, SMB/CIFS — если есть сетевой доступ, можно настроить.
- Локальные диски, внешние HDD, NAS-устройства.
Полный список: https://duplicati.com/
Как это работает на практике?
Ты создаёшь задачу, указываешь папки/базы для бэкапа, выбираешь хранилище, задаёшь расписание — и всё, дальше всё автоматом. Duplicati сам следит за изменениями, шифрует, отправляет, чистит старые копии по заданной политике.
Быстрый старт: установка и настройка Duplicati
Вариант 1: Docker (рекомендую для серверов)
Если у тебя сервер с Docker (VPS, выделенный или домашний), установка — элементарна. Вот базовая команда:
docker run -d --name duplicati \
-v /opt/duplicati/config:/config \
-v /opt/duplicati/backups:/backups \
-v /:/source:ro \
-p 8200:8200 \
ghcr.io/duplicati/duplicati
- /opt/duplicati/config — хранит настройки Duplicati (можно поменять путь).
- /opt/duplicati/backups — локальное хранилище бэкапов (если нужно).
- /:/source:ro — даёт контейнеру доступ ко всему серверу (только чтение), чтобы можно было бэкапить любые файлы. Можно ограничить до нужных директорий.
- -p 8200:8200 — веб-интерфейс будет доступен на http://localhost:8200
Вариант 2: Установка на Linux
Официальная инструкция: https://duplicati.readthedocs.io/en/latest/02-installation/
# Для Ubuntu/Debian
wget https://updates.duplicati.com/beta/duplicati_2.0.7.1-1_all.deb
sudo dpkg -i duplicati_2.0.7.1-1_all.deb
# Для CentOS/RHEL/Fedora
wget https://updates.duplicati.com/beta/duplicati-2.0.7.1-1.noarch.rpm
sudo rpm -i duplicati-2.0.7.1-1.noarch.rpm
После установки, запускаем:
sudo systemctl start duplicati
sudo systemctl enable duplicati
Веб-интерфейс по умолчанию на http://localhost:8200. Если сервер удалённый — пробрось порт через SSH или настрой reverse proxy.
Вариант 3: Windows
Скачай инсталлятор, поставь, запускай — всё просто.
Настройка первой задачи бэкапа: пошагово
- Открой веб-интерфейс Duplicati (http://localhost:8200).
- Жми «Добавить задачу» (Add backup), выбери «Создать новую».
- Введи имя, описание, придумай пароль для шифрования (рекомендую включать).
- Укажи, что бэкапить (пути к папкам, файлам, можно исключать маски — например, *.log).
- Выбери тип хранилища — например, Amazon S3, Google Drive, FTP/SFTP, WebDAV, Backblaze B2 и т.д.
- Введи параметры доступа (ключи, логин/пароль, путь, bucket и т.д.).
- Настрой расписание — каждый день, каждый час, по cron-образному выражению.
- Задай политику хранения (сколько копий, как часто удалять старые).
- Сохрани и протестируй задачу — Duplicati сам проверит доступность хранилища.
Пример: Бэкап /var/www на Backblaze B2 раз в сутки
- Источник: /var/www
- Хранилище: Backblaze B2 (bucket: my-backups)
- Расписание: ежедневно в 03:00
- Шифрование: AES-256, пароль «supersecret»
- Политика хранения: хранить 30 ежедневных копий, старше — удалять
Автоматизация и расписание: как работает планировщик
В Duplicati встроен планировщик — можно задать расписание для каждой задачи. Интерфейс понятный: выбираешь дни недели, время, интервал (каждые N часов/дней/недель).
Если хочется больше гибкости — можно использовать параметры командной строки и запускать Duplicati через cron или systemd-timer (для гиков).
# Пример запуска через cron:
0 3 * * * duplicati-cli backup "b2://my-backups" /var/www --passphrase=supersecret
Но чаще всего хватает встроенного планировщика.
Реальные кейсы: плюсы и минусы Duplicati
Кейс | Плюсы | Минусы | Рекомендации |
---|---|---|---|
Бэкап сайта (WordPress, Laravel и т.д.) на Google Drive | Легко настраивается, дешёво, шифрование, автоматизация | Google Drive иногда режет скорость, лимиты API | Для небольших сайтов — отлично. Для крупных — смотри S3/B2 |
Бэкап базы данных PostgreSQL через dump + Duplicati | Можно автоматизировать dump + бэкап, дешёво | Надо вручную делать dump, иначе база может быть в неконсистентном состоянии | Используй pre-backup скрипты для создания дампа |
Бэкап домашнего NAS на S3/Backblaze B2 | Стабильно, дешёвое облако, шифрование “из коробки” | Требует выделенного сервера или Docker на NAS | Для домашних архивов — топ. Для бизнеса — смотри на retention policy |
Восстановление после сбоя | Можно выбрать отдельные файлы, версию, дату | Восстановление большого архива может быть небыстрым | Для критичных данных делай тестовое восстановление раз в месяц |
Ошибки новичков и мифы
- Миф: «Duplicati не подходит для серверов, только для домашних ПК»
Факт: Наоборот, для серверов он очень удобен — особенно если надо бэкапить в облако, а не на локальный диск. - Ошибка: Бэкапить базы «наживую» (без дампа).
Рекомендация: Делай дамп базы (mysqldump, pg_dump) в отдельную папку, и уже её бэкапь через Duplicati. - Ошибка: Не тестировать восстановление.
Рекомендация: Хотя бы раз в квартал делай тестовое восстановление на отдельный сервер/папку. - Миф: «Duplicati медленный»
Факт: Для больших данных первый бэкап действительно может быть долгим, но дальше работают инкрементальные бэкапы. - Ошибка: Хранить пароль от шифрования только в голове.
Рекомендация: Запиши пароль в менеджер паролей. Без него восстановить бэкап невозможно.
Похожие решения и сравнение
Инструмент | Плюсы | Минусы | Когда использовать |
---|---|---|---|
Duplicity | CLI, поддержка многих хранилищ, инкрементальные бэкапы | Нет нормального GUI, сложнее настраивать | Для гиков, кто любит shell и скрипты |
BorgBackup | Очень быстрый, дедупликация, шифрование | Нет поддержки облака “из коробки”, нужен репозиторий | Для локальных и сетевых бэкапов |
Restic | CLI, быстрый, поддержка S3, B2, SFTP | Нет GUI, меньше настроек по расписанию | Для автоматизации в скриптах |
Veeam, Acronis и т.п. | Промышленные решения, поддержка | Дорого, избыточно для простых задач | Для крупных компаний и инфраструктур |
Duplicati | Веб-интерфейс, много облаков, бесплатен | Нет корпоративной поддержки, не real-time | Для серверов, VPS, домашних NAS, малых и средних компаний |
Интересные фишки и нестандартные сценарии
- Бэкап в несколько облаков одновременно — можно создать несколько задач, которые бэкапят одни и те же данные в разные облака (например, Google Drive + Backblaze B2).
- Pre- и post-скрипты — можно запускать команды до и после бэкапа (например, делать dump базы, чистить временные файлы и т.д.).
- Уведомления по email/Telegram — Duplicati умеет слать письма при ошибках или успешных бэкапах (через SMTP), а через внешние скрипты — хоть в Telegram.
- Шифрование “на лету” — твои данные в облаке всегда зашифрованы, даже если кто-то получит доступ к bucket’у, без пароля ничего не сделает.
- Бэкап с дедупликацией — если у тебя много похожих файлов, Duplicati не будет гонять одинаковые блоки, экономя место и трафик.
- Восстановление любой версии файла — можно откатить не только весь архив, но и отдельный файл на нужную дату.
Статистика и сравнение с другими решениями
- Duplicati — один из самых популярных open-source бэкап-решений с GUI: более 1 млн скачиваний, активное сообщество на GitHub (https://github.com/duplicati/duplicati).
- В среднем, инкрементальный бэкап занимает 3-5 минут, даже при объёме в сотни гигабайт (если мало изменений).
- Шифрование и сжатие “на лету” экономит до 40-60% места в облаке.
- Поддержка Docker — отличное решение для VPS и выделенных серверов.
- Восстановление файлов — через GUI или CLI, можно автоматизировать через API.
Как Duplicati помогает в автоматизации и скриптах?
- Можно управлять заданиями через командную строку (
duplicati-cli
), интегрировать в bash-скрипты, cron, systemd и т.д. - Есть REST API — можно строить свои панели мониторинга или интегрировать с внешними системами.
- Легко масштабировать: один конфиг можно разворачивать на десятках серверов через Ansible/SaltStack и т.п.
- Можно делать бэкапы по триггеру (например, после деплоя или обновления базы).
- В связке с мониторингом (например, Zabbix, Prometheus) можно отслеживать успешность бэкапов и получать алерты.
Выводы и рекомендации
Если тебе нужен простой, надёжный и бесплатный инструмент для автоматического резервного копирования на сервере — Duplicati отличный выбор. Он подходит для VPS, выделенных серверов, домашних NAS и даже рабочих станций. Всё настраивается через веб-интерфейс, не надо ковыряться в конфиг-файлах или писать сложные скрипты. Умеет бэкапить в любые облака, есть шифрование, сжатие, дедупликация и автоматическое расписание.
Для старта — достаточно развернуть контейнер или поставить пакет, зайти в веб-интерфейс и создать задачу. Всё можно сделать за 10-15 минут, даже если ты раньше не работал с такими системами.
Рекомендации:
- Используй Docker-версию для серверов (VPS, выделенных) — это просто и безопасно.
- Обязательно включай шифрование и храни пароль в надёжном месте.
- Не забывай про тестовое восстановление хотя бы раз в квартал.
- Для бэкапа баз данных — делай дамп перед копированием.
- Если нужен сервер под бэкап — VPS или выделенный сервер — отличный вариант, особенно если надо хранить большие объёмы.
Duplicati — это тот случай, когда можно получить максимум надёжности и гибкости без лишнего геморроя и затрат. Попробуй — и увидишь, что бэкапы могут быть простыми и удобными!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.