开源数据库备份工具Databasus

简介

什么是 Databasus ?

Databasus 是一个免费、开源且可自托管的数据库备份工具(以 PostgreSQL 为主)。它支持将数据库备份到多种存储位置(S3Google DriveFTP 等),并可通过多种渠道(SlackDiscordTelegram 等)发送备份进度通知。

主要特点

  • 多数据库支持:支持 PostgreSQL (12-18)、MySQL (5.7/8/9)、MariaDB (10-12) 和 MongoDB (4-8)
  • 灵活调度备份:支持每小时、每天、每周、每月或自定义 cron 表达式
  • 智能压缩4-8 倍空间节省,平衡压缩比(约 20% 开销)
  • 多种存储目的地:本地存储、S3Cloudflare R2Google DriveNASDropboxSFTPRclone
  • 多渠道通知EmailTelegramSlackDiscordwebhooks
  • 企业级安全AES-256-GCM 加密,备份文件加密存储,敏感数据加密保护
  • 团队协作:工作空间分组、访问管理、审计日志、用户角色
  • UX 友好:精心设计的界面,支持深色/浅色主题,移动端自适应
  • 备份类型:逻辑备份、物理备份、增量备份(支持 PITR
  • 开源免费:基于 Apache 2.0 协议开源,可免费使用和修改

应用场景

  • 个人开发者备份:开发者的本地数据库需要定期备份,防止数据丢失
  • 中小企业数据保护:企业可以将数据库备份到本地 NAS 或云存储
  • DevOps 自动化:集成到 CI/CD 流水线,实现数据库备份自动化
  • 多数据库管理:同时管理多个数据库(PostgreSQLMySQLMongoDB)的备份任务

Databasus 是一个功能强大的数据库备份解决方案,特别适合需要自动化备份策略的企业和个人用户。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 databasus,选择第一个 databasus/databasus,版本选择 latest

本文写作时,latest 版本对应为 v3.32.1

ghcr.io 也有同步发布

docker 文件夹中,创建一个新文件夹 databasus,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/databasus/data /databasus-data 存放配置和元数据

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 4005
本地端口 容器端口
4005 4005

环境

Databasus 无需特殊环境变量即可运行,配置通过 Web 界面完成。

命令行安装

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 databasus 和 子目录
mkdir -p /volume1/docker/databasus/data

# 进入 databasus 目录
cd /volume1/docker/databasus

# 运行容器
docker run -d \
--name databasus \
--restart=unless-stopped \
-p 4005:4005 \
-v $(pwd)/data:/databasus-data \
databasus/databasus:latest

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
version: "3"

services:
databasus:
image: databasus/databasus:latest
container_name: databasus
restart: unless-stopped
ports:
- "4005:4005"
volumes:
- ./data:/databasus-data

然后通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 databasus 和 子目录
mkdir -p /volume1/docker/databasus/data

# 进入 databasus 目录
cd /volume1/docker/databasus

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:4005 就能看到注册界面

用户为 admin,只有设置密码即可

登录后的主界面

Create workspace 创建工作空间之后,才能使用

数据库备份

基本的流程就是:

  1. 添加需要备份的数据库(点击 Add database

  1. 设置存储

  1. 配置备份计划(调度周期、保留策略)
  2. 选择存储目的地(本地、S3Google Drive 等)
  3. 配置通知(可选)

  1. 保存并启动备份

重置密码

如果需要重置管理员密码,可以使用以下命令:

1
docker exec -it databasus ./main --new-password="YourNewSecurePassword123" --email="admin"

admin 替换为实际的管理员邮箱地址。

注意事项

  1. 启动时间:首次启动可能需要约 2 分钟,请耐心等待
  2. 端口占用:如果 4005 端口被占用,请更换本地端口
  3. 数据备份:建议也备份 Databasus 本身,或至少备份加密密钥,以便从加密备份中恢复
  4. 安全建议:首次登录后请修改默认密码,使用强密码
  5. 只读用户Databasus 默认使用只读用户进行备份,不会修改您的数据

参考文档

Databasus: Database backup tool (PostgreSQL, MySQL/MariaDB and MongoDB)
地址:https://github.com/databasus/databasus

databasus/databasus - Docker Hub
地址:https://hub.docker.com/r/databasus/databasus

Databasus 官方文档
地址:https://databasus.com/installation