主流数据库通吃!一款开源实用的数据库备份管理工具!

大家好,我是 Java陈序员

在数据库运维工作中,数据备份永远是绕不开的核心环节。不少从业者都遇到过这样的窘境:定时任务正常执行、备份文件按时生成,可等到故障发生需要恢复时,才发现备份文件损坏、数据缺失。尤其是面对 PostgreSQL、MySQL、MongoDB 等多类型数据库,零散的备份脚本、原生工具不仅配置繁琐,还很难统一管理备份策略、存储位置与恢复校验,给日常运维增添了大量负担。

今天,给大家分享一款开源实用的数据库备份管理工具,兼容主流数据库!

项目介绍

databasus ------ 一款开源免费、可自托管的数据库备份工具,主要支持 PostgreSQL, 同时兼容 MySQL、MariaDB 和 MongoDB. 支持将备份文件保存到不同的存储位置(S3、Google Drive、FTP 等),并支持通过 Webhook、Discord、Telegram 等渠道发送预警通知。

功能特色

  • 多数据库统一管理:一套 Web 界面管理主流数据库,支持 PostgreSQL 12-18、MySQL 5.7/8/9、MariaDB 10--12、MongoDB 4.2+/5/6/7/8
  • 自动化备份调度:支持按小时、天、周、月或定时任务备份数据,可指定在凌晨低峰期执行,同时内置压缩功能,节省 4--8 倍空间
  • 多种存储策略:备份文件支持本地、Google Drive、NAS、SFTP 等各类存储策略
  • 灵活的保留策略:支持时间、数量、GFS 分层等多种备份保留策略,限制存储容量
  • 备份真实性校验:备份后自动拉起容器进行真实恢复 + 数据校验,不是只校验文件,支持 PostgreSQL PITR
  • 实时通知与监控:实时监控数据库与备份任务状态,提供消息通知功能,支持 Email、Telegram、Slack、Discord、Webhook 等通知渠道
  • 企业级安全:使用 AES-256-GCM 加密备份文件,每个备份使用独立密钥,默认使用只读用户进行备份
  • 团队协作与权限:使用工作区为不同项目或团队分配数据库、通知程序和存储空间资源,通过基于角色的权限控制谁可以查看或管理特定数据库

技术栈

  • 后端:Go + PostgreSQL
  • 前端:React + TypeScript + Vite + Tailwind CSS

快速上手

databasus 支持 Docker 部署,可通过 Docker 命令和 Docker Compose 快速完成部署。

Docker 命令部署

1、拉取镜像

bash 复制代码
docker pull databasus/databasus:latest

2、创建挂载目录

bash 复制代码
mkidr -p /data/software/databasus

3、运行启动容器

bash 复制代码
docker run -d \
  --name databasus \
  -p 4005:4005 \
  -v /data/software/databasus:/databasus-data \
  --restart unless-stopped \
  databasus/databasus:latest

4、运行成功后,浏览器访问

bash 复制代码
http://{IP/域名}:4005

Docker Compose 部署

1、创建安装目录并进入

bash 复制代码
mkdir -p /data/software/databasus/data

cd /data/software/databasus

2、创建 docker-compose.yml 文件

yaml 复制代码
services:
  databasus:
    container_name: databasus
    image: databasus/databasus:latest
    ports:
      - "4005:4005"
    volumes:
      - ./data:/databasus-data
    restart: unless-stopped

3、启动运行

bash 复制代码
docker compose up -d

4、运行成功后,浏览器访问

bash 复制代码
http://{IP/域名}:4005

注册管理员

首次访问需要设置管理员密码,设置完毕后即可登录使用。

如果需要重置密码,可以使用内置的密码重置命令:

bash 复制代码
docker exec -it databasus ./main --new-password="YourNewSecurePassword123" --email="admin"

admin 替换为要重置密码的用户的实际电子邮件地址。

使用步骤

1、创建工作空间,首次使用需要先创建一个工作空间

2、添加备份数据库,点击Add database, 输入名称和选择数据库类型

3、设置数据库连接,输入数据库连接和凭据信息

4、设置数据库备份计划、存储位置、保留策略、预警通知等

5、最后保存,开始备份计划

功能体验

  • 数据库备份
  • 数据库备份恢复
  • 存储介质
  • 消息渠道
  • 工作空间设置

可以说,databasus 用可视化、自动化、高可靠、强安全的设计,把繁琐的数据库备份工作变简单,彻底告别手写脚本、分散管理、恢复无保障的困境。如果你还在为数据库备份头疼,不妨试试这款数据库备份工具。快去部署体验吧~

bash 复制代码
项目地址:https://github.com/databasus/databasus

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

bash 复制代码
https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

bash 复制代码
https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!


相关推荐
孟陬2 小时前
首次上榜新项目 HyperFrames(22k Star):HTML → MP4 一句话生成视频
react.js·node.js·html
云浪2 小时前
搞懂 Go WaitGroup:一篇文章彻底理解并发等待机制
后端·go
xhaxy3 小时前
pgsql集群搭建(Patroni + etcd )
linux·postgresql·etcd
喵个咪17 小时前
选择第三方IAM还是自建权限体系?中小型后台系统权限架构决策指南
后端·架构·go
暴躁小师兄数据学院18 小时前
【AI大数据工程师特训笔记】第13讲:数据库性能手术刀
大数据·数据库·数据仓库·sql·postgresql
喵个咪19 小时前
AI重构软件开发范式:框架与脚手架为何仍是生产级开发的刚需?
架构·go·ai编程
喵个咪20 小时前
Headless 后端实践:基于Go的企业级多栈管理系统脚手架
前端·vue.js·react.js
夜悊21 小时前
Go并发编程的学习代码示例:生产者消费者模型
go
代码N年归来仍是新手村成员1 天前
【AWS】Lambda 初识与服务部署
javascript·react.js·ai·node.js·云计算·ai编程·aws