Databasus

Резервное копирование MongoDB

Databasus — бесплатный self-hosted инструмент с открытым исходным кодом для бекапа документных баз данных MongoDB. Автоматизируйте mongodump по расписанию, храните BSON-архивы в S3, Google Drive или локально. Получайте уведомления в Slack, Discord или Telegram о завершении бекапов

Интерфейс Databasus для управления резервным копированием MongoDB
Обзор

Возможности резервного копирования MongoDB

Databasus добавляет к mongodump все, чего ему не хватает: расписания, облачные хранилища, мгновенные уведомления и шифрование AES-256-GCM. Подходит разработчикам и DevOps-командам, работающим с документными базами и коллекциями MongoDB

1

Дампы MongoDB по расписанию

Настройка бекапов MongoDB по расписанию

Запускайте mongodump в удобное время, когда нагрузка на приложение минимальна. Выбирайте интервалы: каждый час, день, неделю, месяц — или задавайте cron-выражения для точного контроля

2

Мониторинг доступности MongoDB

Проверки доступности MongoDB

Следите за доступностью подключения к MongoDB с помощью настраиваемых проверок. Получайте уведомления, когда база или реплика-сет становятся недоступны

Задавайте интервал проверок (каждую минуту, каждые 5 минут и т. д.) и порог сбоев, после которого база считается недоступной

3

Храните BSON-архивы где угодно

Держите архивы бекапов MongoDB локально, в S3-совместимом хранилище, Google Drive, Dropbox, на NAS или в других местах. Ваши документы остаются под вашим контролем. Смотреть все →

Хранилища для бекапов MongoDB
4

Уведомления о бекапах

Узнавайте, когда бекап MongoDB завершился или упал с ошибкой. Отправляйте уведомления в чат DevOps-команды или в личные каналы. Смотреть все →

Уведомления о бекапах MongoDB
5

Self-hosted через Docker

Запускайте Databasus на собственной инфраструктуре. Все строки подключения MongoDB и данные бекапов остаются на серверах, которые вы контролируете. Установка занимает около 2-х минут: скрипт, Docker или Kubernetes

Установка через Docker
6

Открытый код, бесплатно

Databasus полностью открыт под лицензией Apache 2.0. Изучайте каждую строку кода, делайте форки, вносите свой вклад. Бесплатен для личного и корпоративного использования

Открытый исходный код на GitHub
7

Поддерживаемые версии MongoDB

Поддерживаются MongoDB 4, 5, 6, 7 и 8. Для каждой версии Databasus использует родной mongodump — это дает полную совместимость с вашей документной базой

Версии MongoDB
8

Управление доступом

для команд
Управление доступом к бекапам MongoDB

Определяйте, кто может просматривать базы MongoDB и управлять ими. Создавайте рабочие пространства для разных проектов. Назначайте роли: просмотр, редактирование или администрирование. Подробнее →

9

Журнал аудита

для команд
Журнал аудита бекапов MongoDB

Отслеживайте все действия: скачивание бекапов, изменение расписаний, обновление настроек. Видно, кто что и когда сделал — для комплаенса и прозрачности. Подробнее →

10

Безопасность

Строки подключения MongoDB шифруются AES-256-GCM перед сохранением. Каждый BSON-архив шифруется уникальным ключом. Реквизиты передаются mongodump безопасно и никогда не попадают в логи. Подробнее →

Безопасность бекапов MongoDB
11

Работает с MongoDB Atlas и self-hosted базами

Databasus подключается к облачным базам MongoDB, включая MongoDB Atlas и AWS DocumentDB, а также к self-hosted установкам. Поскольку он делает логические бекапы через mongodump, достаточно стандартных реквизитов подключения — специальные облачные права и доступ к файловой системе не нужны

На основе mongodump

Как устроен бекап MongoDB

Внутри Databasus работает mongodump — официальная утилита резервного копирования MongoDB. При запуске бекапа Databasus выполняет mongodump с оптимальными параметрами:

  • --archive для вывода BSON одним файлом вместо структуры каталогов
  • --gzip для сжатых архивов, экономящих место и трафик
  • --db чтобы копировать конкретные базы вашего экземпляра MongoDB
  • --uri для безопасной передачи строки подключения с аутентификацией

Поток бекапа отправляется напрямую в настроенное хранилище и при необходимости шифруется AES-256-GCM перед записью. Такой подход сводит дисковый ввод-вывод к минимуму и хорошо работает с большими коллекциями.

Поддерживаемые версии MongoDB:

MongoDB 4MongoDB 5MongoDB 6MongoDB 7MongoDB 8
База данных MongoDB

Официальный бекап MongoDB через mongodump со сжатием gzip, шифрованием и облачными хранилищами

Начало работы

Как установить?

Databasus поддерживает несколько способов установки. Разверните его на VPS, локальной машине или в кластере Kubernetes примерно за 2 минуты. Одна и та же установка работает для бекапов MongoDB, PostgreSQL, MySQL и MariaDB

Автоматический скрипт (рекомендуется)
Скрипт установки поставит Docker с Docker Compose (если они ещё не установлены), настроит Databasus и включит автозапуск после перезагрузки системы.
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh | sudo bash
Подробнее об установке
Как установить Databasus
FAQ

Вопросы о резервном копировании MongoDB

Частые вопросы о бекапах документных баз данных MongoDB с Databasus. Если остались другие вопросы, присоединяйтесь к нашему сообществу в Telegram

1

Что такое Databasus и как он делает бекапы MongoDB?

Databasus — это self-hosted инструмент резервного копирования с лицензией Apache 2.0, который использует mongodump для создания консистентных бекапов MongoDB. Он дополняет mongodump современным веб-интерфейсом, расписаниями, интеграцией с облачными хранилищами (S3, Google Drive, Dropbox), мгновенными уведомлениями (Slack, Discord, Telegram) и шифрованием AES-256-GCM — самописные shell-скрипты и cron-задачи больше не нужны.
2

Поддерживает ли Databasus реплика-сеты MongoDB?

Да, Databasus полностью поддерживает реплика-сеты MongoDB. Вы можете подключиться к любому члену реплика-сета через стандартную строку подключения MongoDB с опциями replica set. Databasus будет читать с указанного узла, поэтому бекапы можно снимать с secondary-узлов и разгружать primary. Это особенно полезно в продакшене, где важно не влиять на производительность основного узла.
3

Можно ли делать бекапы баз MongoDB Atlas через Databasus?

Да, Databasus работает с MongoDB Atlas. Поскольку Databasus делает логические бекапы через mongodump, ему достаточно стандартных реквизитов подключения к MongoDB — специальные права Atlas и административные роли не нужны, а в список разрешенных IP достаточно добавить только сервер Databasus. Просто укажите строку подключения Atlas (она есть в панели Atlas), остальное Databasus сделает сам.
4

Какие версии MongoDB поддерживает Databasus?

Databasus поддерживает MongoDB версий 4, 5, 6, 7 и 8. Все бекапы делаются родным инструментом mongodump с флагами --archive и --gzip: получаются компактные сжатые BSON-архивы. Их можно восстановить через mongorestore на любую совместимую версию MongoDB, что упрощает миграции между версиями.
5

Как Databasus работает с большими коллекциями MongoDB?

Databasus передает вывод mongodump напрямую в хранилище, при необходимости шифруя поток на лету. Такой подход обходится без временных файлов на диске, поэтому хорошо работает с базами, где есть большие коллекции. Флаг --archive создает один сжатый файл вместо структуры каталогов, что снижает нагрузку на ввод-вывод и упрощает хранение.
6

Можно ли делать бекапы шардированных кластеров MongoDB через Databasus?

Сейчас Databasus ориентирован на бекапы отдельных баз MongoDB, а не на координированные бекапы шардированных кластеров.

Для шардированных кластеров можно:

• копировать каждый шард отдельно, подключаясь к его реплика-сету
• делать бекап через роутер mongos (это может сказаться на производительности)

Для продакшен-кластеров с шардированием рассмотрите встроенные бекапы MongoDB Atlas или mongodump с --oplog, чтобы получить консистентный снимок всех шардов на один момент времени.
7

Как Databasus защищает учетные данные MongoDB и бекапы?

Databasus использует многоуровневую защиту:

1. Шифрование реквизитов: все строки подключения, пароли и данные аутентификации MongoDB шифруются AES-256-GCM перед сохранением.

2. Шифрование бекапов: каждый BSON-архив шифруется уникальным ключом, выведенным из мастер-ключа, ID бекапа и случайной соли.

3. Безопасная передача реквизитов: строки подключения передаются mongodump напрямую через безопасные параметры и никогда не попадают в логи или список процессов.
8

Поддерживает ли Databasus инкрементальные бекапы MongoDB или чтение oplog?

Databasus делает полные логические бекапы через mongodump, без инкрементальных бекапов и восстановления на момент времени по oplog. В большинстве сценариев полных бекапов по расписанию — каждый час, день или неделю — хватает как точек восстановления, и возиться с oplog не приходится. В MongoDB Atlas уже есть встроенные непрерывные бекапы с восстановлением на момент времени, а внешние инкрементальные бекапы в кластеры Atlas просто так не восстановить.
9

Можно ли восстановить бекап MongoDB на другую версию или в другой кластер?

Да. Databasus создает стандартные архивы mongodump в формате BSON, поэтому их можно восстановить на любой совместимый сервер MongoDB: другой версии, у другого облачного провайдера или на локальной машине разработчика. Скачайте бекап из Databasus (он расшифровывается автоматически), затем запустите mongorestore с флагами --archive и --gzip. Databasus показывает точную команду восстановления для каждого бекапа.
10

Как в Databasus работает сжатие mongodump?

Databasus использует встроенный флаг --gzip у mongodump, который сжимает BSON-данные прямо во время дампа. Обычно это уменьшает размер архива на 60-80% по сравнению с несжатым BSON. Сжатие происходит в потоке mongodump до опционального шифрования, поэтому и сжатые, и зашифрованные архивы остаются компактными. При восстановлении через mongorestore с флагом --gzip распаковка выполняется автоматически.
11

Можно ли копировать отдельные коллекции MongoDB вместо целых баз?

Сейчас Databasus копирует базы MongoDB целиком, а не отдельные коллекции. Так вы получаете полные консистентные бекапы со всеми коллекциями, индексами и метаданными. Если нужны бекапы на уровне коллекций, разнесите данные по отдельным базам для разных доменов — у каждой будет свое расписание бекапов в Databasus.
12

Работает ли Databasus с MongoDB в Docker или Kubernetes?

Да, Databasus подключается к MongoDB по сети через стандартные строки подключения, поэтому работает с MongoDB где угодно: в контейнерах Docker, подах Kubernetes, на виртуальных машинах или голом железе. Достаточно сетевой связности между Databasus и вашим экземпляром MongoDB. В Kubernetes можно использовать внутренние DNS-имена сервисов или внешние адреса балансировщика.