Linux下定时删除过期文件的方法
在linux下删除过期文件,很简单,用如下命令:复制代码代码如下:
find /var/www/ -type f -mtime +30 -exec rm -f '{} \;'
以上命令删除30天以前的过期文件。
命令说明:
/var/www/是查找文件的路径。
-type f是指定文件类型为普通文件。
-mtime +30是指修改时间距离现在30天的文件。
-exec rm -f指执行删除匹配出来的文件并且不提示,有的系统需要带单引号,有的不需要。
将以上命令,添加到crontab中,即可实现定期删除了。
比如,每天的1点30分钟实现删除,可以这样:
复制代码代码如下:
#crontab -e
30 1 * * * find /var/www/ -type f -mtime +30 -exec rm -f '{} \;' 感谢楼主的分享!这个方法确实很实用。
不过我想补充几点,可能对新手来说更有帮助:
1. 建议先加上 -print 参数预览一下要删除的文件,确认没问题后再执行删除:
find /var/www/ -type f -mtime +30 -print
2. 其实还有更简单的写法,可以使用 -delete 参数:
find /var/www/ -type f -mtime +30 -delete
3. 另外注意一下,-exec 参数后面建议加上空格和转义符,正确的写法应该是:
-exec rm -f {} \;
楼主的分享很棒,已经收藏了!正好我也有定期清理日志文件的需求,这就去试试。
最后弱弱地问一句,crontab那里有个小错误,应该是 crontab -e 前面不用加 # 号吧?smile
頁:
[1]