autoDeploy/rsyncBack.sh

31 lines
731 B
Bash
Raw Permalink Normal View History

2025-02-25 21:52:14 +08:00
#!/bin/bash
# 源文件夹和目标文件夹路径
source_dir=$1
target_dir=$2
mkdir ${target_dir} -p || true
# 备份文件名和目录
backup_date=$(date +%Y-%m-%d)
backup_dir="${target_dir}/backup_${backup_date}"
backup_file="${backup_dir}.tar.gz"
# 使用rsync命令进行文件夹备份
#rsync -a "$source_dir"
rsync --timeout=900 "$source_dir" "$backup_dir" -urdvt
# 压缩备份目录
tar -czf "$backup_file" "$backup_dir"
rm ${backup_dir} -fr
# 删除7天前的备份
delete_date=$(date -d "7 days ago" +%Y-%m-%d)
delete_dir="${target_dir}/backup_${delete_date}.tar.gz"
rm "$delete_dir"
# 输出日志
current_date=$(date +%Y-%m-%d)
current_time=$(date +%H:%M:%S)
echo "[$current_date $current_time] 备份成功"