mtime 文件内容上次修改时间
atime 文件被读取或访问的时间
ctime 文件状态变化时间
mtime 和 atime 的含义都是很容易理解的,而 ctime 则需要更多的解释。由于 inode 维护着每个文件上的元数据,因此,如果与文件有关的元数据发生变化,则inode 数据也将变化。这可能是由一系列操作引起的,包括创建到文件的符号链接、更改文件权限或移动了文件等。由于在这些情况下,文件内容不会被读取或修改,因此 mtime 和 atime 不会改变,但 ctime 将发生变化。
这些时间选项都需要与一个值 n 结合使用,指定为 -n、n 或 +n。
复制代码代码如下:
N * 24
+1 表示 1 * 24 +24小时以外..
+0 表示 0 * 24 +24小时以外
1 表示 1 * 24 + 24 到 24 之间..
0 表示 0 * 24 + 24 到 0 之间..
-1 表示 0 * 24 +24 内,甚至为未来时间...
1.当前时间24小时—当前时间(昨天-今天)
#find . -mtime 0
2.当前时间48小时前–当前时间24小时前(前天-昨天)
#find . -mtime 1
3.当前时间48小时前(2天前)
#find . -mtime +1
4.当前时间24小时–当前时间(昨天-今天)
#find . -mtime -1
命令举例:
将该目录下7天以内的日志文件进行打包。
find /apps/spark/app/logs -mtime -7 -print |xargs tar cjf test.tar.gz
将该目录下7天以内的日志文件进行删除,总是保留最新的。
find /apps/spark/app/logs -mtime -7 -print |xargs rm -rf
或者使用exec实现:
find /apps/spark/app/logs -mtime -7 -exec rm {} \;