假如在一个目录中保留最近30天的文件,30天前的文件自动删除
  #find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;
  /tmp  --设置查找的目录;
  -mtime +30 --设置时间为30天前;
  -type f --设置查找的类型为文件;
  -name *.sh[ab] --设置文件名称中包含sha或者shb;
  -exec rm -f --查找完毕后执行删除操作;
  提示:将此命令写入crontab后即可自动完成查找并删除的工作
  另外的方法大同小异
  #find /tmp  -mtime +30 -type f | xargs rm -rf

例如:find /usr/local/logs/  -mtime +3 -name "*log.2014*" -exec rm -rf {} \;


Linux自动删除N天前备份linux备份服务器保存一个月的DB备份文件,需要定期删除一个月前的备份,以下是一个自动删除的脚本。

语句写法:
find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} \;

例1:
find /root/Backup -mtime +30 -name “*.*” -exec rm -rf {} \;
将/root/Backup目录下所有30天前带”.”的文件删除

find:linux的查找命令,用户查找指定条件的文件
/root/Backup:想要进行清理的目录
-mtime:标准语句写法
+30:查找30天前的文件,这里用数字代表天数
“*.*“:希望查找的数据类型,”*.jpg”表示查找扩展名为jpg的所有文件,”*”表示查找所有文件
-exec:固定写法
rm -rf:强制删除文件,包括目录
{} \; :固定写法,一对大括号+空格+\+;

写到shell脚本中,再设置crontab执行,那样就可以让系统自动去清理相关文件

新建一个自动删除脚本AutoDelBackup.sh

1#!/bin/bash
2find/root/Backup -mtime +30 -name "*.*"-execrm-rf {} \;

#crontab -e
* 2 * * */root/AutoDelBackup.sh
每天凌晨2点执行脚本