Надёжные резервные копии являются критически важной частью любой производственной инфраструктуры. Базы данных часто содержат самые ценные данные в системе, и их потеря из-за аппаратных сбоев, неправильной конфигурации или ошибок человека может привести к серьёзным простоям и финансовым потерям. Хотя существует множество решений для резервного копирования, не все они гибкие, прозрачные и удобные для самостоятельного размещения.
Databasus — это бесплатный, открытый и самохостящийся инструмент, специально разработанный для резервного копирования баз данных. Он позволяет командам и отдельным разработчикам создавать плановые бэкапы, хранить их в различных внешних хранилищах и получать уведомления о ходе и результатах резервного копирования в реальном времени.
Databasus ориентирован на простоту, расширяемость и полный контроль над вашими данными, что делает его отличным выбором для небольших команд, стартапов и инфраструктуры с самостоятельным управлением.
Для чего используется Databasus?
Основная цель Databasus — автоматизация и централизованное управление резервными копиями баз данных с обеспечением прозрачности статуса и ошибок бэкапов.
Ключевые сценарии использования:
- Автоматическое резервное копирование production и staging баз данных
- Централизованное управление бэкапами для нескольких баз данных
- Хранение резервных копий в удалённых хранилищах для аварийного восстановления
- Уведомления о успешном или неудачном завершении бэкапов в реальном времени
- Самохостящееся альтернативное решение вместо управляемых сервисов резервного копирования
Основные возможности:
Databasus предоставляет гибкий и расширяемый конвейер резервного копирования, обеспечивающий надёжную защиту баз данных. Он поддерживает автоматическое резервное копирование через настраиваемые задачи и позволяет сохранять файлы бэкапов в различных хранилищах, включая S3-совместимые, Google Drive, FTP-серверы и другие подключаемые хранилища. Платформа интегрируется с популярными системами уведомлений, такими как Slack, Discord и Telegram, что позволяет получать обновления о ходе и результатах резервного копирования в реальном времени. Полностью самохостящийся и открытый исходный код Databasus даёт полный контроль над конфигурацией, данными и инфраструктурой, а встроенный мониторинг бэкапов помогает отслеживать выполнение, ошибки и успешное завершение операций прозрачно и понятно.
Обзор архитектуры
На высоком уровне Databasus работает как централизованный сервис резервного копирования, где базы данных определяются как объекты для бэкапа, а задачи могут выполняться по расписанию или вручную. При каждом запуске создаются артефакты резервного копирования, которые загружаются в одно или несколько настроенных хранилищ, а уведомления о процессе и его результатах отправляются в подключённые платформы для сообщений. Все компоненты системы полностью работают в вашей собственной инфраструктуре, что делает Databasus подходящим как для простых односерверных развёртываний, так и для более сложных распределённых сред.
Установка
Требования
- Сервер Linux или контейнерная среда
- Docker и Docker Compose (рекомендуется)
- Учётные данные для доступа к вашим базам данных
- Учётные данные для выбранных хранилищ
Шаг 1: Клонирование репозитория
Шаг 2: Настройка переменных окружения
Databasus использует переменные окружения для конфигурации. Скопируйте пример файла конфигурации:
Отредактируйте файл .env и настройте:
- Параметры подключения к базе данных
- Учётные данные для хранилищ (S3, FTP, Google Drive и др.)
- Интеграции для уведомлений (Slack, Discord, Telegram)
Шаг 3: Запуск Databasus
С помощью Docker Compose:
Это запустит Databasus и необходимые сервисы.
Шаг 4: Проверка работы сервиса
Проверьте, что контейнеры работают:
При необходимости просмотрите логи:
После запуска Databasus начнёт выполнять настроенные задачи резервного копирования.
Настройка бэкапов
Базы данных и расписания бэкапов определяются через конфигурационные файлы или переменные окружения (в зависимости от вашего окружения). Каждая задача может указывать:
- Тип базы данных и параметры подключения
- Расписание резервного копирования
- Целевые хранилища
- Каналы уведомлений
Это позволяет создавать гибкие стратегии бэкапа, например, ежедневные копии в S3 и еженедельные — в Google Drive.
FAQ – Часто задаваемые вопросы
- Какие базы данных поддерживает Databasus?
Databasus разработан для работы с распространёнными базами данных. Поддержка конкретных баз зависит от доступных драйверов и конфигурации, и может быть расширена при необходимости. - Можно ли использовать несколько хранилищ одновременно?
Да. Databasus позволяет одновременно отправлять резервные копии в несколько хранилищ для повышения надёжности. - Подходит ли Databasus для продакшена?
Да, особенно для малых и средних инфраструктур. Как и с любой системой резервного копирования, рекомендуется регулярно проверять процедуры восстановления. - Шифрует ли Databasus бэкапы?
Шифрование зависит от конфигурации хранилища. Например, S3-совместимые хранилища могут использовать серверное шифрование, а дополнительные уровни шифрования можно добавить самостоятельно. - Можно ли восстанавливать базы данных с помощью Databasus?
Databasus сосредоточен на создании и хранении резервных копий. Восстановление обычно выполняется вручную с использованием созданных файлов бэкапа.
Заключение
Databasus — это практичное и прозрачное решение для команд, которые хотят полностью контролировать свои резервные копии без использования проприетарных сервисов. С поддержкой нескольких хранилищ, уведомлений в реальном времени и полностью открытым исходным кодом, он отлично подходит для современных self-hosted и DevOps-ориентированных инфраструктур.
Для разработчиков и команд инфраструктуры, ищущих лёгкую и гибкую платформу для резервного копирования, Databasus обеспечивает надёжную защиту баз данных.
Репозиторий:
Databasus — открытый, самохостящийся инструмент для резервного копирования баз данных и уведомлений:
https://github.com/databasus/databasus