首页 » my » 正文

linux下自动删除N天前的备份文件

语句写法:
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} /;

例:
find /opt/backups -mtime +10 -name "*.*" -exec rm -rf {} /;
将/opt/backups目录下所有10天前带"."的文件删除

find:linux的查找命令,用户查找指定条件的文件
/opt/backups:想要进行清理的任意目录
-mtime:标准语句写法
+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
"*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件
-exec:固定写法
rm -rf:强制删除文件,包括目录
{} /; :固定写法,一对大括号+空格+/+;
 

 

还有一种写法为:

find /opt/backups -mtime +10 | xargs rm -rf 

把说xargs调用的命令行是有长度限制的(根系统、配置有管),该命令在文件非常多的情况下,可能导致超过这个限制,从而无法正确运行。

 

可以将该命令写成shell文件,用调试的方式自动运行。