注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

isblog主页

或许不一定要做得最多,但一定要做得最好! 能力就是一种财富,积累越多,就越体现你

 
 
 

日志

 
 

Linux定时删除过期文件  

2012-08-06 16:12:13|  分类: linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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

  1. find /home/wwwroot -type f -mtime +30 -exec rm -f {} \;

说明:/home/wwwroot是查找文件的路径。
   -type f是指定文件类型为普通文件。
   -mtime +30是指修改时间距离现在30天的文件。
   -exec rm -f指执行删除匹配出来的文件并且不提示。
下面我们就可以添加到crontab定时执行命令,具体说明请看定时自动启动任务crontab命令用法

转载请注明《文章来源:http://www.centos.bz/2011/05/time-to-delete-expired-files-linux/

附加:
语句写法:
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
例1:
find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \;
将/usr/local/backups目录下所有10天前带"."的文件删除

find:linux的查找命令,用户查找指定条件的文件
/usr/local/backups:想要进行清理的任意目录
-mtime:标准语句写法
+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
"*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三
-exec:固定写法
rm -rf:强制删除文件,包括目录
{} \; :固定写法,一对大括号+空格+\+;
-mtime n:    找到24*n~24*(n+1)小时之内修改的文件
-mtime +n: 找到24*(n+1)小时以前修改的文件
-mtime 0:    找到24小时以内的修改过的文件
-mtime -n:   找到24*n小时以内修改过的文件
因此,比如要删除3天,即24*3小时以前的数据,则应该使用一下语句:
find . -mtime +2 -exec rm -f {} \;
  评论这张
 
阅读(1193)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017