tmpwatch 命令整理

caohaoyu發表於2019-07-02

一、背景

在正式環境存放按照日期存放的資料被清理掉了,於是瞭解到在伺服器上有用到tmpwatch命令進行定時清理的機制,所以將這個命令進行學習和整理。

二、tmpwatch工作原理

tmpwatch命令用於刪除暫存的臨時檔案,以節省磁碟空間。該命令的工作前提是將不常用的檔案集中到一個目錄中,然後利用該命令對該目錄進行時間設定,這樣tmpwatch命令將會自動檢測該目錄下的檔案是否過期,若過期將自動刪除。

三、用法

tmpwatch [-afqv][--test][超期時間][目錄...]

在伺服器上安裝tmpwatch後會生成/etc/cron.daily/tmpwatch檔案,在檔案中增加命令即可實現定時清除

(注:

1.每天只會執行1次,所以不能實現每天多次進行清理

2.超時時間預設以小時為單位,想刪除超過3天的檔案可以使用 72 或者3d這兩種寫法

3.--test表示不執行刪除操作,而是列印出來

四、引數詳解

-u,--atime基於訪問時間來刪除檔案,預設的。
-m,--mtime基於修改時間來刪除檔案。
-c,--ctime基於建立時間來刪除檔案,對於目錄,基於mtime。
-M,--dirmtime刪除目錄基於目錄的修改時間而不是訪問時間。
-a,--all刪除所有的檔案型別,不只是普通檔案,符號連結和目錄。
-d,--nodirs不刪除檔案裡的子目錄,但是子目錄裡面的檔案還是會被刪除。
-f,--force強制刪除。
-q,--quiet只報告錯誤資訊。
-s,--fuser如果檔案已經是開啟狀態在刪除前,嘗試使用“定影”命令。預設不啟用。
-t,--test僅作測試,並不真的刪除檔案或目錄。
-U,--exclude-user=user不刪除屬於誰的檔案。
-v,--verbose列印詳細資訊。
-x,--exclude=path排除路徑,如果路徑是一個目錄,它包含的所有檔案被排除了。如果路徑不存在,它必須是一個絕對路徑不包含符號連結。
-X,--exclude-pattern=pattern排除某規則下的路徑。

五、與rm的對比

1.rm可能會引起程式僵死(在網上看到的)

2.tmpwatch在查詢和過濾方面比較方便

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章