1. 程式人生 > >linux下find查找文件後使用xargs和exec進行刪除、壓縮處理。

linux下find查找文件後使用xargs和exec進行刪除、壓縮處理。

find exec xargs

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 {} \;

linux下find查找文件後使用xargs和exec進行刪除、壓縮處理。