Databasus: автоматические бэкапы БД без ручных скриптов

Самостоятельно разворачиваемый инструмент для резервного копирования БД

Самописные скрипты на 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 есть на сайте.

GitHub