linux目录备份脚本
cat filebackup.sh
#!/bin/sh
#Author CDY
BACKUP_dir="/home/file/bak/"
DATE=`date +%Y-%m-%d`
mkdir -p $BACKUP_dir/$DATE
#以当前服务器日期创建文件夹,文件夹格式为“2020-04-15”
rsync -avSH /home/file/ /home/file/bak/$DATE --exclude='tmp/' --exclude='download/' --exclude='test/'
#使用自带的rsync进行目录同步,exclude参数为排除/home/file/目录下需要进行数据同步的目录
if [ $? -le 0 ];then
echo "success"
find /home/file/bak/ -type d -name `date +"%Y-%m-%d" -d "3 days ago"`|xargs rm -rf
# rm -rf /home/file/bak/`date --date='3 days ago' +%Y-%m-%d`
#删除时间为3天前的文件夹,当前时间减去3,以“2020-04-15”时间为例,被删除的文件夹为“2020-04-12”
fi
注释:
以日期为目录备份
/home/file/ 为备份源目录
/home/file/bak/$DATE 备份目录以日期为单元
删除3天前的备份下来的目录(数据)