数据库和文件备份增强工具backup-x

简介

什么是 backup-x ?

backup-x 是一个带有 Web 界面的数据库和文件备份增强工具,旨在提供灵活、易用的备份解决方案。它支持多种数据库和文件备份,适合个人和企业用户使用。

软件特色

  1. 多种备份支持

    • 支持 MySQLPostgreSQL 等数据库的备份。
    • 支持自定义文件备份,用户可以通过自定义命令来实现备份。
  2. 灵活的备份周期

    • 用户可以设置备份周期,从几分钟到一年的备份频率均可。
  3. 多项目管理

    • 一次最多支持备份 16 个项目,适合大型应用环境。
  4. 对象存储支持

    • 备份后的文件可以保存到对象存储中,增强数据安全性。
  5. Web 界面管理

    • 提供友好的 Web 界面,用户可以通过浏览器轻松配置和管理备份任务。
  6. Webhook 通知

    • 支持备份成功或失败时通过 Webhook 发送通知,便于实时监控备份状态。
  7. 加密支持

    • v1.3.0 版本起,支持加密关键信息,增强数据安全性。
  8. Docker 支持

    • 多平台支持,包括 windowsMacOSLinux
    • 也可以在 Docker 容器中运行,方便部署和管理。

使用场景

  • 数据库备份:适合需要定期备份数据库的开发者和运维人员,确保数据安全。
  • 文件备份:可以用于备份重要的文件和文档,防止数据丢失。
  • 企业级应用:适合中小型企业的备份需求,帮助管理多个项目的数据备份。
  • 开发和测试环境:开发人员可以快速设置和管理备份,确保测试数据的安全。

backup-x 是一个功能强大且灵活的备份解决方案,适合各种需要备份的场景,提供了便捷的管理和监控功能。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 jeessy ,选择第二个 jeessy/backup-x,版本选择 latest

本文写作时, latest 版本对应为 v2.8.0

docker 文件夹中,创建一个新文件夹 backupx,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/backupx/data /app/backup-x-files 配置文件和备份文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
9977 9977

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 backupx 和 子目录
mkdir -p /volume1/docker/backupx/data

# 进入 backupx 目录
cd /volume1/docker/backupx

# 运行容器
docker run -d \
--restart unless-stopped \
--name backupx \
-p 9977:9977 \
-v $(pwd)/data:/app/backup-x-files \
jeessy/backup-x

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
version: '3'

services:
backupx:
image: jeessy/backup-x
container_name: backupx
restart: unless-stopped
ports:
- "9977:9977"
volumes:
- ./data:/app/backup-x-files

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 backupx 和 子目录
mkdir -p /volume1/docker/backupx/data

# 进入 backupx 目录
cd /volume1/docker/backupx

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:9977 就能看到主界面

服务配置

需完成用户名、密码设置

设置完成后,还需要重启容器

备份设置

虽然是图形化界面,但需要用户编写特定的 SQL 脚本或 shell 命令来执行,这可以让用户执行更为复杂的备份任务

官方提供了备份脚本参考:https://github.com/jeessy2/backup-x#备份脚本参考

LibrumMariaDB 为例,对应的备份脚本如下:

1
mysqldump -h 192.168.0.197 -P 3316 -u root -p#{PWD} --all-databases > #{DATE}.sql

其中 密码变量 中,对应的是 #{PWD},即对应的需备份的数据库的密码

备份完成后会有日志

FileStation 中能找到备份文件

查看内容

参考文档

jeessy2/backup-x: 带Web界面的数据库/文件备份增强工具. A database/file backup tool with web interfaces
地址:https://github.com/jeessy2/backup-x