在正式環境存放按照日期存放的數據被清理掉了,因而瞭解到在服務器上有用到tmpwatch命令進行定時清理的機制,因此將這個命令進行學習和整理。bash
tmpwatch命令用於刪除暫存的臨時文件,以節省磁盤空間。該命令的工做前提是將不經常使用的文件集中到一個目錄中,而後利用該命令對該目錄進行時間設置,這樣tmpwatch命令將會自動檢測該目錄下的文件是否過時,若過時將自動刪除。服務器
tmpwatch [-afqv][--test][超期時間][目錄...]
複製代碼
在服務器上安裝tmpwatch後會生成/etc/cron.daily/tmpwatch文件,在文件中增長命令便可實現定時清除學習
(注:測試
1.天天只會執行1次,因此不能實現天天屢次進行清理ui
2.超時時間默認以小時爲單位,想刪除超過3天的文件可使用 72 或者3d這兩種寫法spa
3.--test表示不執行刪除操做,而是打印出來pwa
)3d
-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排除某規則下的路徑。
複製代碼
1.rm可能會引發程序僵死(在網上看到的)code
2.tmpwatch在查找和過濾方面比較方便class