由于日志或者定期备份的文件太多,手动一个一个删除不太方便。考虑通过文件创建时间来进行删除。
find 命令可以完成这一需求,
说明:
1. 文件路径是目标文件所在路径;
2. -name 设定目标文件名,建议采用,否则可能误删其他文件;
3. -ctime 文件最后一次修改时间,后面只能用整数,单位为天,同时,还有atime,mtime,amin,cmin,mmin等时间参数可选,具体请查看帮助;
4. -exec 表示需要执行的命令,{}代表find找到的内容,"/;"是固定写法表示结束-exec,
所以例子的"-exec rm {} /;" 就表示对find找
比如删除/backup/oracle/目录下3天前的所有以“.log”结尾的文件:
find /opt/etl-dev/ -name "*.log" -mtime +2 -exec rm {} \;