linux 删除N天前的文件

语句写法:
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:强制删除文件,包括目录
  {} \; :固定写法,一对大括号+空格+\+;
  若嫌每次手动执行语句太麻烦,可以将这小语句写到一个可执行文件中,再设置cron调度执行,那就可以让系统自动去清理相关文件。
例2:
  1.#touch /usr/local/bin/clear
  #chmod 777 clear
  新建一个可执行文件clear
  2.vi clear
  编辑clear文件如下:
  #!/bin/sh
  find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \;
  ok,保存退出
  3.#crontab -e
  将clear文件加入到系统计划任务,到点自动执行
  输入:
  * 2 * * */usr/local/bin/clear
  这里的设置是每天凌晨2点执行clear文件进行数据清理,可以研究一下cron,制定自己需要的计划任务
  示例:
  #!/bin/sh
  find /usr/local/jboss-4.2.3.GA/server/default/log -mtime +6 -name"server.log.*" -exec rm -rf {} \;
  exit
  [root@web3 ~]# crontab -l
  * 2 * * * sh /root/AutoDelLog.sh
  这样每天晚上2点执行这个脚本,脚本是删除6天前的文件
find /etc/rc.d -name '*crond' -exec file {} \;

  查找/etc/rc.d目录下面所有以crond结束的文件,并使用file指令查看其属性,注意:exec和file间是一个空格,file和{}间是一个空格,{}和\;之间是一个空格,\;是一个整体。


find $PATH -mtime 0  查找距当前时间24小时以内修改的文件

     Search  for  files  in  your home directory which have been modified in the last twenty-four hours.  This command works this way because the time since each file was last modified is divided by 24 hours and  any remainder  is  discarded.   That means that to match -mtime 0, a file will have to have a modification in the past which is less than 24 hours ago.


find $PATH -mtime +n  查找距当前时间n天以外修改的文件

如n=2     find $PATH -mtime +2 

当前时间11-10 10:00 那么即从距离当前时间(2012-11-10 10:00)的2天前开始算起 find $PATH -mtime +2表示11-07 10:00之前修改过的所有文件都会查找出来,往更早的时间推移,如底下参考鸟哥的时间推移图片


find $PATH -mtime -n  查找距当前时间n天以内修改的文件

如n=2     find $PATH -mtime -2 那么即从距离当前时间(2012-11-10 10:00)的2天前开始算起 find $PATH -mtime +2表示11-07 10:00之内修改过的所有文件都会查找出来,往现在的时间推移


find $PATH  -mtime n 查询距当前时间n天之前24小时以内修改的文件

如n=2 当前时间为2012-11-10 10:00,往前推2天为2012-11-07 10:00,因此以此为时间点,24小时之内的时间为2012-11-07 10:00~2012-11-08 10:00 内修改的文件都会查找出来


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值