linux下find查找文件后使用xargs和exec进行删除、压缩处理。

mtime 文件内容上次修改时间node

  atime 文件被读取或访问的时间app

  ctime 文件状态变化时间ide

  mtime 和 atime 的含义都是很容易理解的,而 ctime 则须要更多的解释。因为 inode 维护着每一个文件上的元数据,所以,若是与文件有关的元数据发生变化,则inode 数据也将变化。这多是由一系列操做引发的,包括建立到文件的符号连接、更改文件权限或移动了文件等。因为在这些状况下,文件内容不会被读取或修改,所以 mtime 和 atime 不会改变,但 ctime 将发生变化。spa

  这些时间选项都须要与一个值 n 结合使用,指定为 -n、n 或 +n。日志

  复制代码代码以下:code

  N * 24it

  +1 表示 1 * 24 +24小时之外..spark

  +0 表示 0 * 24 +24小时之外class

  1 表示 1 * 24 + 24 到 24 之间..test

  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 {} \;
相关文章
相关标签/搜索