Databasus

MongoDB 备份工具

Databasus 是一款免费、开源、可自托管的 MongoDB 文档数据库备份工具。按计划自动执行 mongodump,将 BSON 归档存放到 S3、Google Drive 或本地。备份完成后通过 Slack、Discord 或 Telegram 接收通知

用于管理 MongoDB 备份的 Databasus 控制台界面
概览

MongoDB 备份功能

Databasus 在 mongodump 之上提供企业级能力:自动定时调度、 云存储集成、实时通知和 AES-256-GCM 加密。适合管理 MongoDB 文档数据库和集合的开发者与 DevOps 团队

1

MongoDB 定时转储

MongoDB 定时备份配置

在应用负载较低的时段定时执行 mongodump。可选择每小时、每天、每周、每月的间隔,也可以用 cron 表达式做精确控制

2

MongoDB 健康监控

MongoDB 健康检查

通过可配置的健康检查监控 MongoDB 连接可用性。数据库或副本集不可达时收到通知

可设置检查间隔(每分钟、每 5 分钟等)以及标记数据库不可用前的失败次数阈值

3

将 BSON 归档存放到任何地方

将 MongoDB 备份归档存放在本地、S3 兼容存储、Google Drive、Dropbox、NAS 或其他目标。文档数据始终在你的掌控之中。 查看全部 →

MongoDB 备份存储目标
4

备份通知

MongoDB 备份完成或失败时收到提醒。将通知发送到 DevOps 团队群聊或个人频道。 查看全部 →

MongoDB 备份通知
5

通过 Docker 自托管

在自己的基础设施上运行 Databasus。所有 MongoDB 连接字符串和备份数据都保存在你掌控的服务器上。通过脚本、Docker 或 Kubernetes 约 2 分钟即可部署完成

Docker 部署
6

开源且免费

Databasus 完全开源,采用 Apache 2.0 许可证。你可以审阅每一行代码、Fork 它、参与贡献。个人和企业均可免费使用

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 和自托管部署

Databasus 可以连接云端托管的 MongoDB 数据库,包括 MongoDB Atlas、AWS DocumentDB 以及自托管部署。由于它通过 mongodump 做逻辑备份,只需要标准的连接凭据,不需要特殊的云权限或文件系统访问

基于 mongodump

MongoDB 备份是如何工作的

Databasus 底层使用 mongodump,即 MongoDB 官方的备份工具。当你触发一次备份时,Databasus 会以优化参数执行 mongodump:

  • --archive 输出单个 BSON 文件而非目录结构
  • --gzip 压缩归档,减少存储和传输体积
  • --db 备份 MongoDB 实例中的指定数据库
  • --uri 安全地处理带认证的连接字符串

备份流直接以管道传输到你配置的存储,并可在写入前使用 AES-256-GCM 加密。这种方式将磁盘 I/O 降到最低,对大集合也能高效工作。

支持的 MongoDB 版本:

MongoDB 4MongoDB 5MongoDB 6MongoDB 7MongoDB 8
MongoDB 数据库

通过 mongodump 完成官方 MongoDB 数据库备份,支持 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
常见问题

MongoDB 备份常见问题

关于使用 Databasus 备份 MongoDB 文档数据库的常见问题。如有其他问题,欢迎加入我们的 Telegram 社区

1

Databasus 是什么?它如何备份 MongoDB 数据库?

Databasus 是一款采用 Apache 2.0 许可证的自托管备份工具,底层使用 mongodump 创建一致的 MongoDB 备份。它在 mongodump 之上提供现代化 Web 界面、自动定时调度、云存储集成(S3、Google Drive、Dropbox)、实时通知(Slack、Discord、Telegram)和 AES-256-GCM 加密,让你无需再编写自定义 Shell 脚本和 cron 任务。
2

Databasus 支持 MongoDB 副本集吗?

支持。Databasus 完整支持 MongoDB 副本集。你可以使用带副本集选项的标准 MongoDB 连接 URI 格式连接副本集的任意成员。Databasus 会从指定节点读取数据,因此可以从从节点备份,减轻主节点的负载。这在生产环境中特别有用,可以避免影响主节点的性能。
3

可以用 Databasus 备份 MongoDB Atlas 数据库吗?

可以。Databasus 可以无缝备份 MongoDB Atlas。由于 Databasus 通过 mongodump 做逻辑备份,只需要标准的 MongoDB 连接凭据,除了将 Databasus 服务器加入 IP 白名单外,不需要特殊的 Atlas 权限或管理员角色。只需提供你的 Atlas 连接字符串(可在 Atlas 控制台获取),其余的交给 Databasus。
4

Databasus 支持哪些 MongoDB 版本?

Databasus 支持 MongoDB 4、5、6、7 和 8。所有备份都使用原生 mongodump 工具并带 --archive 和 --gzip 参数,生成高效压缩的 BSON 归档。归档可以用 mongorestore 恢复到任何兼容的 MongoDB 版本,版本间迁移也因此变得简单。
5

Databasus 如何处理大型 MongoDB 集合?

Databasus 将 mongodump 的输出直接以流的方式传输到你的存储目标,并可在传输过程中加密。这种方式无需在磁盘上写入临时文件,对包含大集合的数据库非常高效。--archive 参数生成单个压缩文件而非目录结构,减少了 I/O 开销,也让存储管理更简单。
6

可以用 Databasus 备份 MongoDB 分片集群吗?

Databasus 目前专注于备份单个 MongoDB 数据库,而非协调式的分片集群备份。

对于分片集群,你可以:

• 连接各分片的副本集,逐个备份每个分片
• 通过 mongos 路由备份(不过这可能影响性能)

对于生产环境的分片集群,建议考虑 MongoDB Atlas 原生备份,或使用带 --oplog 的 mongodump,以保证跨分片的时间点一致性。
7

Databasus 如何保护 MongoDB 凭据和备份的安全?

Databasus 采用多层安全机制:

1. 凭据加密:所有 MongoDB 连接 URI、密码和认证信息在存储前均使用 AES-256-GCM 加密。

2. 备份加密:每个 BSON 归档使用由主密钥、备份 ID 和随机盐派生的唯一密钥加密。

3. 安全的凭据处理:连接 URI 通过安全参数直接传递给 mongodump,绝不出现在日志或进程列表中。
8

Databasus 支持 MongoDB 增量备份或 oplog 跟踪吗?

Databasus 专注于使用 mongodump 的完整逻辑备份,而非增量备份或基于 oplog 的时间点恢复。对大多数场景来说,定时完整备份(每小时、每天、每周)已能提供足够的恢复点,也免去了管理 oplog 的复杂性。MongoDB Atlas 本身已提供带时间点恢复的原生持续备份,而外部增量备份难以恢复到 Atlas 集群。
9

可以把 MongoDB 备份恢复到其他版本或集群吗?

可以。Databasus 创建的是 BSON 格式的标准 mongodump 归档,可以恢复到任何兼容的 MongoDB 服务器:不同版本、不同云服务商或本地开发机。从 Databasus 下载备份(自动解密),然后使用带 --archive 和 --gzip 参数的 mongorestore 即可。Databasus 会为每个备份展示确切的恢复命令。
10

Databasus 中的 mongodump 压缩是如何工作的?

Databasus 使用 mongodump 内置的 --gzip 参数,在转储过程中压缩 BSON 数据。与未压缩的 BSON 相比,归档体积通常可减少 60-80%。压缩发生在 mongodump 数据流内、可选加密之前,因此压缩和加密后的归档都保持高效。使用带 --gzip 参数的 mongorestore 时会自动解压。
11

可以只备份特定的 MongoDB 集合而不是整个数据库吗?

目前 Databasus 备份的是整个 MongoDB 数据库,而非单个集合。这能保证备份完整且一致,包含所有集合、索引和元数据。如果需要集合级别的备份,可以按数据领域拆分成不同的数据库,并在 Databasus 中为每个数据库设置各自的备份计划。
12

Databasus 支持运行在 Docker 或 Kubernetes 中的 MongoDB 吗?

支持。Databasus 通过标准连接 URI 经网络连接 MongoDB,因此无论 MongoDB 部署在哪里都能使用:Docker 容器、Kubernetes Pod、虚拟机或裸机。只需保证 Databasus 与 MongoDB 实例之间的网络连通。对于 Kubernetes 部署,可以使用内部服务 DNS 名称或外部负载均衡器地址。