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

大家好,我是 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/#/

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


相关推荐
hxy06011 天前
React-Call让你的React组件像异步函数一样调用
前端·react.js
howard20051 天前
PostgreSQL起步
数据库·postgresql
Patrick_Wilson1 天前
从一次 Safari 白屏,聊聊 CDN 外置 React 的坑与前端监控盲区
前端·react.js·cdn
golang学习记1 天前
Go Gin框架是怎么设计出来的?
go
名字还没想好☜1 天前
Go 内存逃逸分析:什么时候变量跑到堆上
开发语言·算法·性能优化·golang·go·内存逃逸
我是大卫1 天前
【图】React源码解析-从底层数据结构、调度器、闭包原理到源码设计模式,深挖useState的全部核心机制
react.js·源码
米开朗积德1 天前
React native开发iOS与Android兼容适配常见问题
react native·react.js
小牛itbull1 天前
【译】为什么我使用 React 重构了 WordPress?
前端·react.js·重构
用户298698530141 天前
在 React 中拆分 Excel 文件:从工作表到行列的实践
javascript·react.js·excel
名字还没想好☜1 天前
React 受控与非受控组件:表单场景怎么选
前端·javascript·react.js·react·表单·受控组件