要写一个定时删除log的日志,需要用到这个命令,记录下。
find命令的一个总结
-mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件;
-mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名;
-mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。
这里 -mtime +n是不包含n天本身的,什么意思呢?看这里
有三个文件
-rw-r--r-- 1 root root 2330467376 08-02 02:01 trapd.log_20120802
-rw-r--r-- 1 root root 2317891551 08-03 02:00 trapd.log_20120803
-rw-r--r-- 1 root root 2323417087 08-04 02:00 trapd.log_20120804
用命令搜索,现在的时间是08-04的22:00
[root@host log]# find ./ -name "trapd.log_*" -mtime +1 -type f -exec ls -al {} \;
-rw-r--r-- 1 root root 2330467376 08-02 02:01 ./trapd.log_20120802
,搜出了8月2日的这个文件,这个命令的参数就是1天之前,也即是不包含前1天被更改的。所以没有搜出trapd.log_20120803
这个文件。
[root@host log]# find ./ -name "trapd.log_*" -mtime -1 -type f -exec ls -al {} \;
-rw-r--r-- 1 root root 2323417087 08-04 02:00 ./trapd.log_20120804
搜出了1天之内的trapd.log_20120804文件
[root@host log]# find ./ -name "trapd.log_*" -mtime 1 -type f -exec ls -al {} \;
-rw-r--r-- 1 root root 2317891551 08-03 02:00 ./trapd.log_20120803
搜出了trapd.log_20120803文件,也即是1天前(这天之内)的这个文件