Самостоятельно разворачиваемый инструмент для резервного копирования БД
Самописные скрипты на mysqldump и pg_dump свою задачу выполняют, но масштабируются слабо: при сбоях нет алертов, резервные копии лежат только локально, а для каждой новой базы приходится поддерживать отдельный скрипт. Databasus закрывает эти проблемы через единый веб-интерфейс.
Databasus — инструмент с открытым исходным кодом под лицензией Apache 2.0 для автоматизации резервного копирования баз данных. Основной упор сделан на PostgreSQL, но также поддерживаются MySQL, MariaDB и MongoDB.
Что умеет:
• Сохранять резервные копии в локальное хранилище, S3, Cloudflare R2, Google Drive, Dropbox, SFTP и через Rclone.
• Отправлять уведомления об успешных задачах и ошибках через Email, Telegram, Slack, Discord и вебхуки.
• Шифровать файлы резервных копий по AES-256-GCM, поэтому их можно безопасно хранить даже в публичных S3-бакетах.
Как устроено подключение к базе
Есть два режима.
1. Remote — Databasus подключается к базе напрямую по сети, без агента. Это удобно для managed-баз вроде RDS.
2. Agent — рядом с базой запускается лёгкий агент на Go, который стримит резервную копию сразу в хранилище, так что саму базу не нужно выставлять наружу.
Как запустить
Проще всего начать через Docker:
docker run -d \
--name databasus \
-p 4005:4005 \
-v ./databasus-data:/databasus-data \
--restart unless-stopped \
databasus/databasus:latestПосле запуска открываем http://localhost:4005, добавляем базу, настраиваем расписание, хранилище и уведомления.
Для Linux есть автоматический скрипт, который сам установит Docker и настроит автозапуск:
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh \
| sudo bashДля Kubernetes доступен Helm-чарт из OCI-реестра:
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespaceВажный момент
Сам Databasus тоже стоит резервировать или хотя бы отдельно сохранить ключ шифрования. Без него восстановить зашифрованные резервные копии не получится, даже если файлы в хранилище на месте. Документация по восстановлению без Databasus есть на сайте.