在管理Linux下的文件时,我们通常会有定时删除过期文件的这个需求。比如定时删除超过指定时间的日志文件,不然时长越久,你的日志文件占用的空间就越大,那离爆磁盘不远了,还有也解决网站方便的需求,比如我们建立的淘宝客api的程序,为了提高商品页的访问速度,我们需要进行关键数据的缓存,也需要定时删除过期的缓存文件,如果是使用PHP程序扫描删除,那将得不偿失。那么如何在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 '{} ;'