SERV

明道云数据自动备份

SERVLv.2入道 发布于 最后回复 分享 零代码备份
2 回复1402 浏览
基于 明道自用自动备份 | HAP 社区 (mingdao.net) 修改了下符合自用的 不停服版本 #!/bin/bash # 删除备份目录内容(可选,根据需求决定) # rm -rf /data/mingdao/script/volume/data/backup/* # 执行备份(注意:这里假设docker命令和backup脚本已经正确设置) docker exec $( docker ps | grep community | awk '{print $1}' ) bash -c 'source /entrypoint.sh && backup mysql mongodb file' # 切换到备份目录 cd /data/mingdao/script/volume/data/backup/ # 生成包含时间戳的压缩文件名 timestamp = $( date +%Y%m%d%H%M%S ) compressed_filename = "mdydatabackup_ ${ timestamp } .tar.gz" # 压缩当前所有备份 tar -czvf " $compressed_filename " -C . . # 把新的备份移过去(自建目录,确保/fileupload/目录存在且可写) mv -f " $compressed_filename " /fileupload/ # 切换到文件上传目录(自建目录,可选,取决于你是否需要在这里执行其他操作) # cd /fileupload/ # (可选)删除备份中N天以上的备份 # 注意:这里使用find命令的-mtime选项而不是-ctime,因为-mtime基于文件内容最后修改时间 # find /fileupload/ -name "*.gz" -type f -mtime +3 -exec rm {} \; 停服务版本 备份 mingdao 文件夹 #!/bin/bash # 删除备份目录内容(可选,根据需求决定) rm -rf /data/mingdao/script/volume/data/backup/* # 切换到管理器目录(依据管理器的实际位置) cd /usr/local/MDPrivateDeployment/ # 停止任务 bash ./service.sh stopall # 切换到备份目录 cd /data/mingdao/ # 生成包含时间戳的压缩文件名 timestamp = $( date +%Y%m%d%H%M%S ) compressed_filename = "data_mingdao_ ${ timestamp } .tar.gz" # 压缩当前所有备份 tar -czvf " $compressed_filename " -C . . # 把新的备份移过去(确保/fileupload/目录存在且可写) mv -f " $compressed_filename " /fileupload/ # 切换到管理器目录(依据管理器的实际位置) cd /usr/local/MDPrivateDeployment/ # 启动任务 bash ./service.sh startall # 切换到文件上传目录(可选,取决于你是否需要在这里执行其他操作) # cd /fileupload/ # (可选)删除备份中N天以上的备份 # 注意:这里使用find命令的-mtime选项而不是-ctime,因为-mtime基于文件内容最后修改时间 # find /fileupload/ -name "*.gz" -type f -mtime +6 -exec rm {} \; 然后调用 Linux 定时任务即可自动执行 具体使用根据自己需要调整 至于同步到其他的位置,可以考虑挂载 NFS 或者 SFTP 方式进行数据交互