在做自动备份的时候,通常需要做自动删除,需要保留多少天的数据。
第一种:保留最近10天的文件
命令: find /data/backup -mtime +10 |xargs rm -rf
用上面的命令会删除/data/backup目录下10天前的数据,用这个语句有一个问题,如果自动执行脚本出问题了,超过10天没有备份了,等我们发现的时候备份文件都会被删除了。
第二种:保留最新的10份文件
备份文件始终保留10个,对文件先排序再删除
ls -t 对文件进行排序,NR当前输入的记录行数
命令: ls -t /data/backup/*.tar.gz |awk 'NR>10' |xargs rm -rf