本文于 135 天前发布,最后更新于 135 天前
#!/bin/bash
#备份归档
#创建备份归档目录
if [ ! -d "/backups" ]; then
mkdir -p /backups
fi
for file in $(find /backups -name "backup-*" -type f | sort -r | tail -n +5);
do
rm -rf $file;
done;
## /backups/backup-$(date "+%Y%m%d%H%M-%N").tar.xz 为归档后压缩文件
## /home/nobackup 为排除的目录(不需要备份的目录)
## /home 和 /data 为需要备份的目录(如果有多个可以跟在后边,用空格分隔)
tar cJf /backups/backup-$(date "+%Y%m%d%H%M-%N").tar.xz --exclude /home/nobackup /home /data 2>&-
## *另外可以通过 crontab 进行定时归档(例如每5分钟执行一次)
## */5 * * * * /linuxscript/backup.sh
具体定时任务配置方法可效仿博客:Linux系统定时任务crontab定期删除180天以前的文件