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

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

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


相关推荐
天蓝色的鱼鱼11 小时前
React Router v8 来了:react-router-dom 没了,老项目该怎么迁移?
前端·react.js
Bolt12 小时前
TypeScript 7.0 来了:当 tsc 用 Go 重写之后
javascript·typescript·go
Go_error16 小时前
Datatypes:Go 轻松支持数据库JSON类型
后端·go
无名氏同学19 小时前
React 16-19 新特性
react.js
写代码的皮筏艇19 小时前
React中的forwardRef
前端·react.js·面试
不知疲倦的老鸟20 小时前
Node.js 库在浏览器里跑不了的教训
react.js·next.js
晓得迷路了21 小时前
栗子前端技术周刊第 134 期 - React Router v8、TypeScript 7 RC、React Native 0.86...
前端·javascript·react.js
代码煮茶2 天前
React 组件封装方法论 —— 以 Todo App 为例
javascript·react.js
任沫2 天前
Agent之Function Call
javascript·人工智能·go