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

大家好,我是 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 小时前
PostgreSQL 存储机制详解
数据库·postgresql·开源·数据库开发
橘bird13 小时前
Go 语言学习教程 万字精讲(新手完整版)
go
ylj_dev13 小时前
从 0 构建 AI Workload Platform(四):从单机工作流内核到可靠控制面
docker·postgresql·架构·golang
Wang's Blog13 小时前
PostgreSQL笔记48: 全文检索与向量检索的对比与混合检索实践
笔记·postgresql·全文检索
Wang's Blog15 小时前
PostgreSQL笔记49:向量检索核心算法、索引调优与过滤策略深度解析
笔记·算法·postgresql
用户3301448676316 小时前
08. mcentral:中心缓存的 span 管理
go
用户3301448676316 小时前
07. mcache.refill:缓存补充与 span 归还
go
BreezeJiang16 小时前
学 App Router,真正该串起来的是路由、数据和失败分支
react.js
Wang's Blog16 小时前
PostgreSQL笔记51: 基于 pgvector 构建企业级智能问答系统
数据库·笔记·postgresql
光影少年17 小时前
react navite 内存泄漏:定时器、监听事件、订阅销毁
前端·javascript·react native·react.js·前端框架