linux 删除指定日期之前的文件

es没有指定日志时默认在var的log下面

用  >edf_cluster.log  这个来清空当前日志文件内容,且仍然保留文件名,只清空内容

两种方法:

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

猜你喜欢

转载自weitao1026.iteye.com/blog/2397482