已剪辑自: https://blog.csdn.net/m0_59463611/article/details/120668475

两种方法:

  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后即可自动完成查找并删除的工作了。

  1. 或者用: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 {} \;
  1. 给脚本授权 chmod +x clear.sh
  2. 加入定时执行任务 vi /etc/crontab 在最后加入:00 2 * * *  root /opt/sh/clear.sh
  3. 重启crontab服务 service crond restart