字节笔记本
2026年2月22日
Databasus:开源数据库备份工具,支持 PostgreSQL/MySQL/MongoDB
Databasus(原 Postgresus)是一款免费开源的数据库备份工具,专注于 PostgreSQL、MySQL 和 MongoDB 的自动化备份。它支持多种存储后端(S3、Google Drive、FTP 等)和多种通知渠道(Slack、Discord、Telegram 等),帮助开发者和运维团队轻松实现数据库的定时备份与恢复。
项目简介
Databasus 是一个自托管的数据库备份解决方案,由 RostislavDugin 开发维护。截至目前,该项目在 GitHub 上已获得 5.6k+ stars,拥有 292 个 Fork 和 21 位贡献者。项目采用 Apache 2.0 许可证开源,主要使用 Go 语言(70.8%) 和 TypeScript(26.8%) 编写。
该项目原名 Postgresus,后更名为 Databasus 以反映其对多种数据库的支持。它提供了直观的 Web 界面,支持暗黑/亮色主题,并且适配移动端,让管理员可以随时随地监控备份状态。
核心特性
支持的数据库
- PostgreSQL: 12, 13, 14, 15, 16, 17, 18
- MySQL: 5.7, 8, 9
- MariaDB: 10, 11
- MongoDB: 4, 5, 6, 7, 8
定时备份
- 灵活的调度策略: 支持每小时、每天、每周、每月或自定义 Cron 表达式
- 精确的时间控制: 可在特定时间执行备份(如凌晨 4 点低流量时段)
- 智能压缩: 提供 4-8 倍的空间节省,压缩开销约 20%
保留策略
- 时间周期: 按固定时长保留(如 7 天、3 个月、1 年)
- 数量限制: 保留最近 N 个备份(如最近 30 个)
- GFS 策略: 分层保留——独立保留每小时、每天、每周、每月和每年的备份
- 大小限制: 设置单个备份和总存储容量上限
多种存储后端
- 本地存储: 保存在 VPS/服务器本地
- 云存储: S3、Cloudflare R2、Google Drive、NAS、Dropbox、SFTP、Rclone 等
- 安全可靠: 所有数据完全由用户掌控
智能通知
- 多渠道支持: Email、Telegram、Slack、Discord、Webhooks
- 实时更新: 成功和失败都会发送通知
- 团队集成: 完美适配 DevOps 工作流
企业级安全
- AES-256-GCM 加密: 企业级备份文件加密保护
- 零信任存储: 备份文件加密后即使存储在共享存储(如 S3)中也对攻击者无用
- 密钥加密: 敏感数据加密存储,日志和错误信息中不会暴露
- 只读用户: 默认使用只读用户进行备份,不存储任何可修改数据的内容
团队协作
- 工作空间: 按项目或团队分组管理数据库、通知和存储
- 访问控制: 基于角色的权限管理,控制谁可以查看或管理特定数据库
- 审计日志: 跟踪所有系统活动和用户变更
- 用户角色: 支持 viewer、member、admin、owner 等角色
技术栈
- 后端: Go (70.8%)
- 前端: TypeScript (26.8%)
- 部署: Docker、Docker Compose、Kubernetes (Helm)
- 数据库: SQLite(元数据存储)
- 许可证: Apache 2.0
安装指南
Databasus 提供四种安装方式:
方式一:自动化安装脚本(推荐,仅 Linux)
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh \
| sudo bash脚本会自动安装 Docker 和 Docker Compose(如未安装),配置 Databasus,并设置开机自启。
方式二:Docker 快速运行
docker run -d \
--name databasus \
-p 4005:4005 \
-v ./databasus-data:/databasus-data \
--restart unless-stopped \
databasus/databasus:latest方式三:Docker Compose
创建 docker-compose.yml:
services:
databasus:
container_name: databasus
image: databasus/databasus:latest
ports:
- "4005:4005"
volumes:
- ./databasus-data:/databasus-data
restart: unless-stopped然后运行:
docker compose up -d方式四:Kubernetes + Helm
开发/测试环境(ClusterIP + port-forward):
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace
kubectl port-forward svc/databasus-service 4005:4005 -n databasus
# 访问 http://localhost:4005云环境(LoadBalancer):
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set service.type=LoadBalancer域名访问(Ingress):
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set ingress.enabled=true \
--set ingress.hosts[0].host=backup.example.com快速开始
- 访问 Dashboard: 打开 http://localhost:4005
- 添加数据库: 点击 "New Database" 并按向导配置
- 配置调度: 选择每小时、每天、每周、每月或 Cron 表达式
- 设置连接: 输入数据库凭据和连接信息
- 选择存储: 选择备份存储位置(本地、S3、Google Drive 等)
- 配置保留策略: 选择时间周期、数量限制或 GFS 策略
- 添加通知(可选): 配置 Email、Telegram、Slack 或 Webhook
- 保存并启动: Databasus 会验证设置并开始备份计划
常用操作
重置密码
docker exec -it databasus ./main \
--new-password="YourNewSecurePassword123" \
--email="admin@example.com"备份 Databasus 本身
建议定期备份 Databasus 的加密密钥,以便在服务器损坏时仍能恢复加密备份:
# 复制加密密钥(仅需 30 秒)
docker cp databasus:/databasus-data/secrets ./databasus-backup/项目链接
- GitHub 仓库: https://github.com/databasus/databasus
- 官方网站: https://databasus.com
- 安装文档: https://databasus.com/installation
- 存储支持列表: https://databasus.com/storages
- 通知支持列表: https://databasus.com/notifiers
- 社区 Telegram: https://t.me/databasus_community
总结
Databasus 是一款功能完善、安全可靠的开源数据库备份工具。它支持多种数据库类型、灵活的调度策略、多种存储后端和企业级加密,同时提供直观的 Web 界面和完善的团队协作功能。对于需要自托管备份方案的中小团队和个人开发者来说,Databasus 是一个值得考虑的选择。