数据库备份管理工具DBackup

简介

什么是 DBackup ?

DBackup 是一个开源的数据库备份自动化工具,支持 MySQLPostgreSQLMongoDBSQLiteRedisMicrosoft SQL Server 等多种数据库。它可以帮助用户轻松实现数据库的定时备份、加密存储和便捷恢复。

主要特点

  • 多数据库支持 :支持 MySQLMariaDBPostgreSQLMongoDBSQLiteRedisMSSQL7 种数据库
  • 多种存储后端 :支持 S3Cloudflare R2Google DriveDropboxOneDriveSFTPFTPWebDAVSMBRsync13+ 种存储适配器
  • AES-256-GCM 加密 :使用开放标准的 AES-256-GCM 加密算法保护备份数据,支持密钥轮换和离线恢复
  • 智能保留策略 :支持 GVSGrandfather-Father-Son)轮换策略,可按目的地设置保留规则
  • Cron 定时调度 :支持简单模式和 Cron 模式两种调度方式
  • 9 种通知渠道 :支持 DiscordSlackTeamsTelegramGotifyntfyWebhookTwilio SMSEmail 等通知
  • SSO/OIDC 认证 :支持 AuthentikPocketIDKeycloak 等身份提供商
  • RBAC 访问控制:支持用户组和细粒度的权限管理
  • 开源免费 :基于 GPL-3.0 协议开源,可免费使用和修改

应用场景

  • 个人开发者:为本地数据库提供自动化备份解决方案
  • 中小企业:集中管理多个数据库的备份任务,确保数据安全
  • 运维团队:通过 Web 界面统一监控和恢复数据库

DBackup 功能演示

DBackup 是一个功能完善的数据库备份管理平台,特别适合需要在私有环境中管理数据库备份的用户。

安装

在群晖上以 Docker 方式安装。

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

本文写作时,latest 版本对应为 v1.4.6

docker 文件夹中,创建一个新文件夹 dbackup,并在其中建两个子文件夹 databackups

需要给 backups 目录新增 Everyone 的读写权限

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

端口

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

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
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 为老苏的群晖主机的 IP
  • BETTER_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 更快捷

bash 复制代码
# 新建文件夹 dbackup 和 子目录
mkdir -p /volume1/docker/dbackup/{data,backups}

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

# 修改目录权限
chmod a+rw backups

# 运行容器
docker run -d \
  --name=dbackup \
  --restart=always \
  -p 4004:3000 \
  -v $(pwd)/data:/data \
  -v $(pwd)/backups:/backups \
  -e ENCRYPTION_KEY="f762ba8c44596a4473ea57d1136cef9f6140a90638a8118ad23bd1f5b029a8ce" \
  -e BETTER_AUTH_SECRET="vWy7fLro59hBT/kORnhWZJUe6Z5fK1Mlm6Mg4EXQ5Ck=" \
  -e BETTER_AUTH_URL="http://192.168.0.197:4004" \
  -e DISABLE_HTTPS="true" \
  skyfay/dbackup:latest

docker-compose 安装

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

yaml 复制代码
version: '3.8'

services:
  dbackup:
    image: skyfay/dbackup:latest
    container_name: dbackup
    restart: always
    ports:
      - "4004:3000"
    volumes:
      - ./data:/data              # All persistent data (db, storage, certs)
      - ./backups:/backups        # Optional: used for local backups
    environment:
      - ENCRYPTION_KEY=f762ba8c44596a4473ea57d1136cef9f6140a90638a8118ad23bd1f5b029a8ce       # openssl rand -hex 32
      - BETTER_AUTH_URL=http://192.168.0.197:4004
      - DISABLE_HTTPS=true
      - BETTER_AUTH_SECRET=vWy7fLro59hBT/kORnhWZJUe6Z5fK1Mlm6Mg4EXQ5Ck=   # openssl rand -base64 32
      # All additional environment variables: https://dbackup.app/user-guide/installation#environment-variables

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

bash 复制代码
# 新建文件夹 dbackup 和 子目录
mkdir -p /volume1/docker/dbackup/{data,backups}

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

# 修改目录权限
chmod a+rw backups

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

# 一键启动
docker-compose up -d

运行

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

第一次需要注册用户

密码不能少于 8 个字符;

登录后的主界面

进入 Quick Setup 进行设置

Database Source

第一步设置数据库的类型

还是以群晖自带的 MariaDB 为例

如果测试通过,即可保存

Storage Destination

第二步选择存储的类型

Local Filesystem 为例

Base Path 设为容器内的备份路径 /backups

测试不报错就可以保存了

其他设置

Encryption 是可选的,老苏选择了 Skip

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

最后是设置备份计划

之后就会自动执行了

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

注意事项

  1. 加密密钥重要 :请妥善保存 ENCRYPTION_KEY,丢失它意味着失去对所有加密数据(数据库密码、DBackup 中存储的 API 密钥)的访问权限。
  2. 端口冲突 :如果 4004 端口被占用,需要修改主机端口
  3. 备份保留策略:建议根据存储空间设置合适的保留策略,避免备份过多占用空间

参考文档

DBackup - Self-hosted database backup automation

地址:https://github.com/Skyfay/DBackup
skyfay/dbackup - Docker Hub

地址:https://hub.docker.com/r/skyfay/dbackup
DBackup 官方文档

地址:https://dbackup.app

相关推荐
一 乐1 小时前
交通感知与车路协同系统|基于springboot + vue交通感知与车路协同系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·交通感知与车路协同系统
NineData2 小时前
NineData 将亮相 DACon 2026 上海站!解锁 AGI 时代数据“智理”新范式
数据库·架构·agi·ninedata·数据复制·数据迁移工具·dacon2026
黄昏晓x2 小时前
数据库----函数
数据库
UpYoung!2 小时前
【数据库工具】DBeaver——轻量化多功能数据库连接工具DBeaver Ultimate 24.0.0版详细下载安装指南
数据库·mysql·sqlserver·数据库开发·数据库管理·dbeaver·数据库工具
爬山算法2 小时前
MongoDB(92)什么是变更流(Change Streams)?
数据库·mongodb
xiaoshuaishuai83 小时前
C# Submodule 避坑指南
服务器·数据库·windows·c#
绩隐金3 小时前
PostgreSQL 架构原理第三期:事务与并发控制 —— MVCC、快照与锁机制
数据库
2501_914245933 小时前
C#怎么使用属性Property C#自动属性和完整属性的区别get set怎么用【基础】
jvm·数据库·python
绩隐金3 小时前
SQL 与查询优化(PostgreSQL 篇)· 第五期
数据库