明道自用自动备份

分享  收藏
5 / 585

备份设置
https://www.iamwawa.cn/crontab.html

shell 脚本

#!/bin/bash
#先删掉备份目录内容(可复制到最后一行执行,不然始终保留一份最新备份)
rm -rf /data/mingdao/script/volume/data/backup/*&&
#执行备份
docker exec -i $(docker ps | grep community | awk '{print $1}') bash -c 'source /entrypoint.sh && backup mysql mongodb file'&&
cd /data/mingdao/script/volume/data/backup/&&
#压缩(备份)时间
tarTime=$(date +'%Y%m%d%H%M%S')&&
#压缩当前所有(确保该目录只有一个备份,不然你就悲剧了,全部帮你压缩)
tar zcvf /backup/$tarTime.tar.gz ./&&
#把新的备份移过去(有FTP的直接改这个,省点空间)
#mv -f /data/mingdao/script/volume/data/backup/$tarTime.tar.gz /backup/&&
#删除备份中3天以上的备份
cd /backup/&&
find ./ -name "*.gz" -type f -ctime +3 -exec rm -r {} \;

注意事项,Linux 脚本格式与一般文本不同,如在 Windows 修改的注意换行符
image.png
Linux 命令建的可忽略
脚本适用于备份目录在配置中没有自定义的
(volumes:

  • /backup/:/data/backup/

)没有这个配置

看懂的自己修改,看不懂的自行承担使用风险 😕