【Linux Shell脚本编程】保留最近N天或N次备份文件
在生产环境中,经常会有这样一种需求“保留N天内的备份数据”。常规做法可能会把下面的命令放进脚本中并让计划任务按期执行:
find /bak -mtime +7 -exec rm -rf {} \;
但是有这么一种情况,公司需要保留最新的3份备份文件,那么如何实现?这里可以使用ls -t命令进行排序,最新的文件会排在最前面,然后把3行以后的文件都给删除。最好给脚本文件一个chattr -i的权限,让脚本不能被修改,防止删除文件的目录被修改导致不可挽回的错误
#保留2份指定目录下文件名包含xtreasm的文件
ls -t /data/mysql_backup/public/ | awk '$0~/xbstream/' | awk 'NR>2' | xargs rm -rf
版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论
Jay
回复谢谢,找了好久,终于找到能用的!
谢谢