开源数据库备份工具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 存放配置和元数据

端口

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

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 4005
本地端口 容器端口
4005 4005

环境

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

命令行安装

docker cli 安装

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

bash 复制代码
# 新建文件夹 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 文件

yaml 复制代码
version: "3"

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

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

bash 复制代码
# 新建文件夹 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. 保存并启动备份

重置密码

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

bash 复制代码
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

相关推荐
初级炼丹师(爱说实话版)40 分钟前
Ubuntu服务器配置docker
服务器·ubuntu·docker
BullSmall42 分钟前
Another Redis Desktop Manager(ARDM)下载指南
数据库·redis·缓存
SelectDB1 小时前
Apache Doris 倒排索引工作原理:全文检索提速 59 倍,点查提速 14 倍
数据库
码农颜1 小时前
5.1.1 原⼦性
数据库·mysql
机建狂魔1 小时前
Codex 接入第三方模型 API 实战:以 Mimo 为例
java·服务器·数据库·ai·ai编程·codex
山峰哥2 小时前
数据库工程与SQL调优:从慢查询到秒级响应的实战之路
java·开发语言·数据库·sql·深度优先·启发式算法
生活爱好者!2 小时前
NAS还能用来开视频会议?docker一键部署MiroTalk SFU
运维·docker·容器
moMo2 小时前
# 向量数据库入门:从"关键词匹配"到"语义理解"
数据库
ACP广源盛139246256732 小时前
DeepSeek‑V4‑Flash 公测@ACP#昇腾 950 国产算力组合落地,国产 PCIe 交换芯片 IX9104 有哪些硬件机会
大数据·数据库·人工智能·分布式·单片机·嵌入式硬件·microsoft
进击的女IT3 小时前
通过mysql中的Data目录恢复数据库数据
数据库·mysql