还手搓脚本?这款开源备份管理工具,主流数据库全搞定!
创始人
2026-07-22 14:40:47

想象一下:你手头有 PostgreSQL、MySQL 和 MongoDB 三套数据库,分别在本地、AWS RDS 和 Docker 容器中运行。你希望它们都能在凌晨 4 点自动备份,备份文件同时加密保存到本地、S3 和 Google Drive,备份完成后通过 Slack 通知团队,并且支持点对点恢复。这听起来像是一个需要多个脚本拼凑的复杂工程?Databasus 用一个优雅的 Web 界面,把这一切统一到了同一个平台上。

一、引言:从“野生脚本”到统一平台

在传统的数据备份场景中,许多团队依然依赖手工编写的 pg_dump 脚本和零散的 cron 任务。这种“野生”模式往往伴随着“备份失败无人知”、“存储空间莫名爆满”等隐患,更别提跨团队协作时的权限混乱与审计缺失。回顾过去,我们或许都写过一堆定制化的备份脚本,用 cron 定时执行,再通过 scp 或 rsync 传到另一台服务器。这套方案初期能用,但随着数据库版本更新、存储地点增加以及团队协作需求的涌现,那些脚本就变成了难以维护的“祖传代码”。

Databasus(曾用名 Postgresus)正是一款终结这种混乱的开源工具。它提供一个带有精美 Web UI 的中央控制台,让你能像管理云服务一样,优雅地管理所有备份任务。

二、核心特性全景

1、一图看懂 Databasus 整体架构

Databasus 的核心是一个 Go 语言编写的高效后端,配合简洁的 Web 前端,通过一系列模块协同完成备份任务。

2、四款主流备份工具功能对比

在选择备份工具时,你需要权衡功能全面性、团队协作支持和使用体验。以下是四款主流开源工具的横向对比:

数据来源:PostgreSQL backup tools、2026年顶级开源Postgres备份解决方案

3、支持的数据库与版本

Databasus 对多种数据库的主流版本提供了广泛支持:

这意味着无论你的技术栈如何多样,都可以在同一个平台上集中管理所有备份任务。

4、核心特性速览

数据来源:databasus、Databasus:一款好用的开源数据库备份管理工具-腾讯云开发者社区

5、Web 界面演示

部署完成后,访问 http://localhost:4005 即可看到一个现代化的管理界面。从创建数据库连接到配置备份策略、查看备份历史、执行恢复操作,整个过程都可以通过点击完成,首次配置一个数据库的备份只需不到 5 分钟。

三、技术原理深度:Databasus 如何优雅工作

1、三种备份类型详解

Databasus 支持三种备份方式,它们在工作原理、性能和应用场景上有着本质差异:

2、Agent 工作机制

对于物理备份和增量备份,Databasus 引入了一个小巧的 Agent,它用 Go 语言编写,轻量高效。它的特别之处在于反向连接模式:

关键设计:

  • 出站连接:Agent 从数据库侧主动连接 Databasus 核心,而非反过来,因此无需在数据库服务器上开放入站端口。
  • 本地访问:Agent 直接与数据库实例通信(如 PostgreSQL 的 Unix socket),不通过网络暴露数据库端口。
  • Token 认证 + TLS 加密:所有通信均经过加密和身份验证。
  • 适用场景:特别适合无法开放数据库端口的私有云 VPC、Kubernetes 集群或本地环境。
  • Agent 部署方式:支持宿主系统安装和 Docker 容器两种方式。

3、WAL 流式增量备份原理

增量备份的能力建立在 PostgreSQL 的 WAL(预写日志)机制之上。WAL 是 PostgreSQL 中保证数据持久性和崩溃恢复的核心技术。其工作流程可以概括为:

这个持续归档的机制允许 Databasus 在任意时间点回放 WAL 日志,实现 PITR(Point-in-Time Recovery),恢复到过去任意一秒的状态。

4、备份文件的加密与解密流程

Databasus 通过标准的 openssl 和 zstd 命令行工具来完成解密和解压,使得恢复过程完全不依赖 Databasus 本身。

四、实战:30 分钟搭建完整备份系统

1、安装部署(最快仅需 1 分钟)

推荐使用 Docker Compose 部署方式。

1)选项 1:一键脚本(仅限 Linux)

sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh | sudo bash

该脚本会自动安装 Docker、创建 docker-compose.yml 并启动服务。

2)选项 2:Docker 命令(最快上手)

docker run -d \

--name databasus \

-p 4005:4005 \

-v ./databasus-data:/databasus-data \

--restart unless-stopped \

databasus/databasus:latest

这条命令将:

  • 在后台启动 Databasus
  • 将所有数据存储在 ./databasus-data 目录中
  • 系统重启后自动启动容器

安装完成后,通过浏览器访问 http://localhost:4005 即可进入 Web 界面。

3)选项 3:Kubernetes Helm

helm install databasus oci://ghcr.io/databasus/charts/databasus \

-n databasus --create-namespace

kubectl port-forward svc/databasus-service 4005:4005 -n databasus

2、首次配置步骤

  • 步骤 1:创建工作区

访问 http://localhost:4005,首次访问需设置管理员密码,然后创建工作区(Workspace)。工作区可以按项目或团队进行隔离。

  • 步骤 2:添加存储后端

导航到“Storages” → “Add Storage”,选择存储类型(S3、Google Drive、本地等)。根据所选类型填写对应的凭证信息,并进行连接测试。强烈建议测试通过后再保存。

  • 步骤 3:添加数据库并配置通知

导航到“Databases” → “Add Database”,填写连接信息(主机、端口、用户名、密码、数据库名)。Databasus 默认使用只读用户进行备份,会在添加过程中提示创建只读账号,以遵循最小权限安全原则。选择存储后端、配置保留策略(如保留最近 7 天),以及选择通知渠道(Slack、Telegram、Email 或 Webhook)。

  • 步骤 4:设置调度策略

选择备份频率(小时/日/周/月或自定义 Cron 表达式),例如 0 4 * * * 表示每天凌晨 4 点执行。保存配置后,系统将按设定自动执行备份任务,并在仪表盘中记录完整的历史。

五、备份与恢复详解

1、备份文件的存储结构与解密

Databasus 生成的备份文件遵循“公开”标准:首先用 pg_dump(或其他原生工具)导出数据库内容,再用 zstd 压缩(压缩率可达 4-8 倍),最后用 AES-256-GCM 加密。这种结构确保了备份的“可移植性”。

解密与恢复只需三行命令(以 PostgreSQL 为例):

# 1. 解密

openssl enc -d -aes-256-gcm -pbkdf2 -iter 100000 \

-in backup.enc -out backup.zst -K (cat backup.iv)

# 2. 解压

zstd -d backup.zst -o backup.dump

# 3. 恢复

pg_restore -d new_database_name -U postgres backup.dump

完整恢复指南:https://databasus.com/how-to-recover-without-databasus[reference:18]

2、三种备份方式的差异详解

六、对比总结

在备份工具的选择上,需要根据团队规模和实际需求做出权衡:

七、优势与不足

1、核心优势

  • 统一管理:一套平台管理 PostgreSQL、MySQL、MariaDB、MongoDB 四种数据库,Web UI 集中监控所有备份任务。
  • 部署灵活:Docker 一行命令启动,同时支持 Kubernetes Helm,兼容自建库和 AWS RDS、Google Cloud SQL、Azure Database 等云托管实例。
  • 团队协作:工作区隔离、RBAC 权限控制和审计日志,满足合规性要求。
  • 安全可靠:企业级 AES-256-GCM 加密、零信任存储设计、只读用户原则,避免厂商锁定。
  • 通知覆盖全面:支持 Slack、Telegram、Email 及 Webhook,适配主流协作工具。

2、局限性

  • 对于超大规模数据库(如 ≥5TB),物理 / 增量备份的性能略逊于行业专用的物理备份工具。
  • 全量物理备份和增量备份需要部署 Agent,更适合自建数据库场景。
  • 对 NoSQL 数据库的支持目前仅有 MongoDB,尚未覆盖更多类型。
  • 对于云上 RDS 数据库增量备份的支持较为有限,主要依赖云厂商原生的 PITR 功能。

八、一句话总结

Databasus 并不是一个单纯的备份工具,而是一套“数据库备份即服务”体系。它通过 Web UI + 多数据库兼容 + 丰富的存储后端与通知渠道的组合设计,让不同规模的团队都能用统一的方式管理数据安全。单条 Docker 命令即可启动,开发者和 DBA 都能在 5 分钟内完成配置,实现生产级自动化备份。

作者丨Java架构之路

来源丨公众号:k8s-Mango(ID:gh_2b3387d56f8f)

dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn

相关内容

热门资讯

小... 本文目录导航: 小丸工具箱软件简介 7款收费开源视频编辑工具整顿(软件篇)...
文... 本文目录导航: 文本属于觉得媒体吗 多媒体教学软件的素材制造应留意什么疑问...
对... 本文目录导航: 对于图像解决务工前景 如何让含糊的视频变的更明晰呢? ...
罕... 本文目录导航: 专业图像解决软件有哪些好用的中央(罕用图像解决工具收费版介绍) ...
多... 本文目录导航: 多媒体软件特点有哪些 gips的重点是什么 ...