数据库备份管理工具DBackup
简介
什么是 DBackup ?
DBackup是一个开源的数据库备份自动化工具,支持MySQL、PostgreSQL、MongoDB、SQLite、Redis和Microsoft SQL Server等多种数据库。它可以帮助用户轻松实现数据库的定时备份、加密存储和便捷恢复。
主要特点
- 多数据库支持:支持
MySQL、MariaDB、PostgreSQL、MongoDB、SQLite、Redis、MSSQL等7种数据库 - 多种存储后端:支持
S3、Cloudflare R2、Google Drive、Dropbox、OneDrive、SFTP、FTP、WebDAV、SMB、Rsync等13+种存储适配器 - AES-256-GCM 加密:使用开放标准的
AES-256-GCM加密算法保护备份数据,支持密钥轮换和离线恢复 - 智能保留策略:支持
GVS(Grandfather-Father-Son)轮换策略,可按目的地设置保留规则 - Cron 定时调度:支持简单模式和
Cron模式两种调度方式 - 9 种通知渠道:支持
Discord、Slack、Teams、Telegram、Gotify、ntfy、Webhook、Twilio SMS、Email等通知 - SSO/OIDC 认证:支持
Authentik、PocketID、Keycloak等身份提供商 - RBAC 访问控制:支持用户组和细粒度的权限管理
- 开源免费:基于
GPL-3.0协议开源,可免费使用和修改
应用场景
- 个人开发者:为本地数据库提供自动化备份解决方案
- 中小企业:集中管理多个数据库的备份任务,确保数据安全
- 运维团队:通过 Web 界面统一监控和恢复数据库
DBackup 是一个功能完善的数据库备份管理平台,特别适合需要在私有环境中管理数据库备份的用户。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 skyfay,选择第一个 skyfay/dbackup,版本选择 latest。
本文写作时,
latest版本对应为v1.4.6;

卷
在 docker 文件夹中,创建一个新文件夹 dbackup,并在其中建两个子文件夹 data 和 backups
需要给 backups 目录新增 Everyone 的读写权限

| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/dbackup/data |
/data |
存放所有持久化数据(数据库、存储、证书) |
docker/dbackup/backups |
/backups |
用于本地备份文件(可选) |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
4004 |
3000 |

环境
| 可变 | 值 |
|---|---|
ENCRYPTION_KEY |
使用 openssl rand -hex 32 生成 |
BETTER_AUTH_URL |
http://192.168.0.197:4004,其中 192.168.0.197 是老苏群辉主机的 IP |
BETTER_AUTH_SECRET |
使用 openssl rand -base64 32 生成 |
DISABLE_HTTPS |
true,因为我们只在局域网中通过 IP 访问 |
环境变量说明:
ENCRYPTION_KEY用于加密备份文件,必须是32字节的十六进制字符串,使用openssl rand -hex 32生成BETTER_AUTH_URL设置应用访问地址,首次配置后保持不变,其中192.168.0.197为老苏的群晖主机的IPBETTER_AUTH_SECRET用于会话加密,使用openssl rand -base64 32生成DISABLE_HTTPS设置为true禁用HTTPS,使用HTTP访问,因为我们只在局域网中使用

下拉找到 DISABLE_HTTPS,默认值为 false 需要改为 true

更多环境变量的说明,请参考官方文档: https://dbackup.app/user-guide/installation#environment-variables
命令行安装
docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 dbackup 和 子目录 |
docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3.8' |
然后通过 SSH 登录到您的群晖,执行下面的命令:
1 | # 新建文件夹 dbackup 和 子目录 |

运行
在浏览器中输入 http://群晖IP:4004 就能看到登录界面

第一次需要注册用户
密码不能少于
8个字符;

登录后的主界面

进入 Quick Setup 进行设置

Database Source
第一步设置数据库的类型

还是以群晖自带的 MariaDB 为例

如果测试通过,即可保存

Storage Destination
第二步选择存储的类型

以 Local Filesystem 为例
Base Path设为容器内的备份路径/backups

测试不报错就可以保存了

其他设置
Encryption 是可选的,老苏选择了 Skip

Notifications 也不是必须的,可以根据你的需要进行选择

最后是设置备份计划

之后就会自动执行了

可以根据需要创建其他备份任务

注意事项
- 加密密钥重要:请妥善保存
ENCRYPTION_KEY,丢失它意味着失去对所有加密数据(数据库密码、DBackup中存储的API密钥)的访问权限。 - 端口冲突:如果
4004端口被占用,需要修改主机端口 - 备份保留策略:建议根据存储空间设置合适的保留策略,避免备份过多占用空间
参考文档
DBackup - Self-hosted database backup automation
地址:https://github.com/Skyfay/DBackupskyfay/dbackup - Docker Hub
地址:https://hub.docker.com/r/skyfay/dbackupDBackup 官方文档
地址:https://dbackup.app