linux 删除指定日期之前的文件/
文件夹两种方法:
- 在一个目录中保留最近三个月的文件,三个月前的文件自动删除。
find /email/v2_bak -mtime +92 -type f -name *.mail[12] -exec rm -rf {} \;
-exec没有xargs用起来舒服,建议采用xargs模式,比较直观。
/email/v1_bak --设置查找的目录;
-mtime +92 --设置时间为91天前;
-type f --设置查找的类型为文件;type d 类型为文件夹
-name *.mail[12] --设置文件名称中包含mail1或者mail2;
-exec rm -f --查找完毕后执行删除操作;
将此命令写入crontab后即可自动完成查找并删除的工作了。
如:find /home/oracle/app/oracle/admin/bdump -mtime +92 -type f -name '*.trc'
find /home/oracle/app/oracle/admin/twerp/bdump -mtime +92 -type f -name '*.trc' |xargs rm -rf
-amin n
查找系统中最后N分钟访问的文件
-atime n
查找系统中最后n24小时访问的文件
-cmin n
查找系统中最后N分钟被改变状态的文件
-ctime n
查找系统中最后n24小时被改变状态的文件
-mtime n
查找系统中最后n*24小时被修改的文件
- 或者用:
find . -ctime +40 -type f | xargs rm -rf
文件的Access time,atime 是在读取文件或者执行文件时更改的。
文件的 Modified time,mtime 是在写入文件时随文件内容的更改而更改的。
文件的 Create time,ctime 是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改的。
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
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。