Skip to content

部署自动备份工具

自动备份工具将在每天凌晨5:00自动备份目标服务器的全量数据(数据库在每天凌晨2:00自动备份)
备份数据采用tar.gz格式的压缩文件,解压以后即可得到全量数据

特别说明

请注意:此插件不能和会众云主服务部署在一台服务器,需要部署到独立的服务器上!
请注意:此插件不能和会众云主服务部署在一台服务器,需要部署到独立的服务器上!
请注意:此插件不能和会众云主服务部署在一台服务器,需要部署到独立的服务器上!


备份逻辑为:会众云主服务外的独立服务器上,定时备份会众云主服务的数据,如果出现极端情况需要恢复数据时,可以有独立的备份数据使用


备份内容为:数据库备份文件(非原文件)、所有上传的文件

1.创建配置文件:backup.json

配置参数说明

bash
REMOTE_HOST          # 【必填】远程主机地址(这里可以是 IP地址 或 域名地址)
REMOTE_PORT          # 【必填】远程主机地址ssh端口(如果没有调整过,则默认为:22)
REMOTE_USER          # 【必填】登录远程主机的用户名(一般为:root)
PASSWORD             # 【必填】登录远程主机的用户密码(也可以是ssh的私钥密码)
MAX_BACK_NUM         # 【必填】最大备份数量(范围:1~30,例如:当设置为7时,将自动保留最近7天的备份,超过7天的自动删除)
SSH_PRIVATE_KEY      # 【可选】ssh访问私钥(如果配置了采用ssh的访问方式,需要将私钥内容配置到此字段)

文件内容示例

json
{
  "REMOTE_HOST": "192.168.31.168",
  "REMOTE_PORT": "22",
  "REMOTE_USER": "root",
  "PASSWORD": "123",
  "MAX_BACK_NUM": 3,
  "SSH_PRIVATE_KEY": "-----BEGIN RSA PRIVATE KEY-----\n-----END RSA PRIVATE KEY-----"
}

1.1.一键创建

下方参数后,将其复制粘贴至命令行,敲击回车键即可

bash
cat > /etc/hzy/backup.json <<- EOF
{
  "REMOTE_HOST": "192.168.31.168",
  "REMOTE_PORT": "22",
  "REMOTE_USER": "root",
  "PASSWORD": "123",
  "MAX_BACK_NUM": 3,
  "SSH_PRIVATE_KEY": "-----BEGIN RSA PRIVATE KEY-----\n-----END RSA PRIVATE KEY-----"
}
EOF

如何验证执行结果?

命令行输入:cat /etc/hzy/backup.json,后敲击回车键即可查看文件内容

1.2.手动创建

bash
cd /etc/hzy && vim -n backup.json

注意

将使用vim编辑文件内容,点击查看vim的使用说明

2.运行自动备份工具

启动服务

特别说明

以下命令中的/etc/hzy步骤1中创建的本机目录。插件运行后,将在/etc/hzy自动创建以下文件

  • /etc/hzy/log/backup.log:生成插件运行相关的日志,可以查看插件是否运行正常

  • /etc/hzy/backup/hzy_[年月日].tar.gz:指定年月日的全量备份文件

注意

使用windows部署时,需要替换相关目录,点击详情查看

bash
docker run --privileged -e TZ=Asia/Shanghai -itd -v /etc/hzy:/root/conf --restart always --name hzy-backup registry.cn-hangzhou.aliyuncs.com/hzy0code/hzy-utils:backup.x86.1.0.0

重启服务

注意

修改了配置文件后,需要使用以下命令重启服务

bash
docker restart hzy-backup

3.使用备份

查看/etc/hzy/backup/目录,可以看到不同日期的备份文件,以下为使用备份的详细步骤


步骤1:拷贝备份文件到目标服务器,并解压文件

bash
# 将备份文件拷贝到 /var/ 目录下
mv hzy_*.tar.gz /var/
# 删除已有文件
cd /var/
rm -rf hzy/
# 解压备份文件
tar -xzvf ./hzy_20250822.tar.gz
# 创建数据库文件目录
cd /var/hzy
mkdir mongodb
cd mongodb
mkdir data1 data2 data3 log1 log2 log3

步骤2:运行会众云服务,并恢复数据库备份

bash
# 进入会众云docker服务内部
docker exec -it hzy-main bash
# 启用mongodb相关命令
source .bash_profile
# 查看备份文件
cd /root/upload/backup/
ls -lah
# 执行数据恢复命令(注意:仅需要将 20250919_backup.archive 替换为 需要恢复的备份文件即可)
mongorestore --drop --uri=mongodb://localhost:17017/ --gzip --archive=/root/upload/backup/20250919_backup.archive

等待数据库备份文件恢复完成,即可访问服务