首页 > 技术文章 > linux 删除指定日期之前的文件

fashflying 2017-05-30 15:29 原文

两种方法:

1. 在一个目录中保留最近三个月的文件,三个月前的文件自动删除。

find /email/v2_bak -mtime +92 -type f -name *.mail[12] -exec rm -rf {} \;

/email/v1_bak --设置查找的目录;
-mtime +92 --设置时间为91天前;
-type f --设置查找的类型为文件;
-name *.mail[12] --设置文件名称中包含mail1或者mail2;
-exec rm -f --查找完毕后执行删除操作;
    将此命令写入crontab后即可自动完成查找并删除的工作了。
2. 或者用:find . -ctime +40 -type f | xargs rm -rf
 
1、编写清理日志脚本clear.sh
   #!/bin/sh
   find /opt/bak -mtime +6 -name "*.log" -exec rm {} \;
   find /opt/bak -mtime +6 -name "*.dmp" -exec rm {} \;
2、给脚本授权
    chmod +x clear.sh
3、加入定时执行任务
    vi /etc/crontab
    在最后加入:00 2 * * *  root /opt/sh/clear.sh
4、重启crontab服务

    service crond restart

推荐阅读