提交 f45e50da 作者: martin

git备份脚本update2

上级 0e3a13dd
#!/bin/bash
# 设置日志函数
function log() {
echo "$(date +"%F %T")" "$*"
echo "$(date +"%F %T")" "$*" >>/var/log/backup_git.log
}
......@@ -11,35 +11,44 @@ work_dir="/data/backup/"
# 设置备份的压缩包文件名
now=$(date +%Y%m%d_%H%M%S)
bak_filename=git_backup144_"$now".tar.gz
log "开始备份git文件。。。"
cd /mnt || (echo "enter mnt dir failed and exit " ;exit 1)
tar -zcf "$work_dir""$bak_filename" test
log "开始压缩备份文件"
tar -zcf "$work_dir""$bak_filename" gitlab && \
log "压缩备份文件成功"
# 上传至obs平台
obsutil cp "$work_dir""$bak_filename" obs://zzsn-doc/backup/git/ && \
log "上传至OBS成功"
# 检查维护本地过期备份文件
# 设置本地过期天数
local_expire_days=5
local_expire_days=15
log "开始检查本地备份文件,删除时间超过${local_expire_days}天的备份文件"
cd "$work_dir" || (echo "enter backup dir failed and exit " ;exit 1)
for file in git_backup144_[0-9]*.tar.gz;do
if [ -e "$file" ];then
file_date=$(echo "$file"|awk -F '_' '{print $3}'|xargs date +%s -d)
aim_date=$(date +%s -d "-${local_expire_days} days")
if [[ $file_date -lt $aim_date ]];then
rm -rf "$file"
log "发现过期文件${file},开始删除。。。"
rm -rf "$file" && \
log "删除过期文件${file}完成"
fi
fi
done
# 检查维护obs过期备份文件
# 设置obs过期天数
obs_expire_days=30
obs_expire_days=60
log "开始检查OBS备份文件,删除时间超过${obs_expire_days}天的备份文件"
for file in $(obsutil ls obs://zzsn-doc/backup/git|grep tar.gz);do
if [ -n "$file" ];then
file_date=$(echo "$file"|awk -F '_' '{print $3}'|xargs date +%s -d)
aim_date=$(date +%s -d "-${obs_expire_days} days")
if [[ $file_date -lt $aim_date ]];then
obsutil rm -f "$file"
log "发现过期文件${file},开始删除。。。"
obsutil rm -f "$file" && \
log "删除过期文件${file}完成"
fi
fi
done
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论