简易定时备份同步推送脚本
简介
一个简易脚本它可以完成以下功能
1、删除指定目录文件
2、根据当前时间进行打包
3、使用Bark消息推送(ios)
4、文件同步
配置定时任务
每天定时凌晨2点开始执行
#crontab -e
0 2 * * * /bin/bash /home/backup/SyncTarFiles.sh
一个名为SyncTarFiles.sh脚本
#/bin/bash
F_DATE=$(date +%Y-%m-%d_%H) #打印当前时间
F_FILE_NAME=backup_xxx.com_$F_DATE.tar.gz #使用tar命令+时间进行打包
FILE_SAVE_PATH="/home/web" #被打包的路径
BARK_TOKEN=NXXXXXXXXXXXe #BARK推送(ios)
# 清除
DeleteFiles() {
echo "清理文件"
rm -rf /home/backup/backup_xxx.com_*
echo "清理成功!"
}
# 压缩
CompressedFile() {
# 执行tar命令进行压缩
echo "开始压缩$F_FILE_NAME"
tar -czf "$F_FILE_NAME" $FILE_SAVE_PATH 2>/dev/null
# 判断文件是否压缩成功
if [ $? -eq 0 ] && [ -f "$F_FILE_NAME" ]; then
echo "$F_FILE_NAME 压缩成功"
curl https://api.day.app/$BARK_TOKEN/xxx.com压缩成功/$F_FILE_NAME 2>/dev/null
SyncFiles
else
echo "$F_FILE_NAME 压缩失败"
curl https://api.day.app/$BARK_TOKEN/xxx.com压缩失败/$F_FILE_NAME 2>/dev/null
fi
}
# 同步文件
SyncFiles() {
echo "开始发送文件$F_FILE_NAME"
scp -P 22 -r /home/backup/ back@1.1.1.1:/home/back/
if [ $? -eq 0 ]; then
echo "$F_FILE_NAME 同步成功"
curl https://api.day.app/$BARK_TOKEN/xxx.com同步成功/$F_FILE_NAME 2>/dev/null
else
echo "$F_FILE_NAME 同步失败"
curl https://api.day.app/$BARK_TOKEN/xxx.com同步失败/$F_FILE_NAME 2>/dev/null
fi
}
DeleteFiles
CompressedFile