一、背景
在正式環(huán)境存放按照日期存放的數(shù)據(jù)被清理掉了,于是了解到在服務(wù)器上有用到tmpwatch命令進(jìn)行定時(shí)清理的機(jī)制,所以將這個(gè)命令進(jìn)行學(xué)習(xí)和整理。
二、tmpwatch工作原理
tmpwatch命令用于刪除暫存的臨時(shí)文件,以節(jié)省磁盤空間。該命令的工作前提是將不常用的文件集中到一個(gè)目錄中,然后利用該命令對該目錄進(jìn)行時(shí)間設(shè)置,這樣tmpwatch命令將會自動檢測該目錄下的文件是否過期,若過期將自動刪除。
三、用法
tmpwatch [-afqv][--test][超期時(shí)間][目錄...]
在服務(wù)器上安裝tmpwatch后會生成/etc/cron.daily/tmpwatch文件,在文件中增加命令即可實(shí)現(xiàn)定時(shí)清除
(注:
1.每天只會執(zhí)行1次,所以不能實(shí)現(xiàn)每天多次進(jìn)行清理
2.超時(shí)時(shí)間默認(rèn)以小時(shí)為單位,想刪除超過3天的文件可以使用 72 或者3d這兩種寫法
3.--test表示不執(zhí)行刪除操作,而是打印出來
)
四、參數(shù)詳解
-u,--atime基于訪問時(shí)間來刪除文件,默認(rèn)的。
-m,--mtime基于修改時(shí)間來刪除文件。
-c,--ctime基于創(chuàng)建時(shí)間來刪除文件,對于目錄,基于mtime。
-M,--dirmtime刪除目錄基于目錄的修改時(shí)間而不是訪問時(shí)間。
-a,--all刪除所有的文件類型,不只是普通文件,符號鏈接和目錄。
-d,--nodirs不刪除文件里的子目錄,但是子目錄里面的文件還是會被刪除。
-f,--force強(qiáng)制刪除。
-q,--quiet只報(bào)告錯(cuò)誤信息。
-s,--fuser如果文件已經(jīng)是打開狀態(tài)在刪除前,嘗試使用“定影”命令。默認(rèn)不啟用。
-t,--test僅作測試,并不真的刪除文件或目錄。
-U,--exclude-user=user不刪除屬于誰的文件。
-v,--verbose打印詳細(xì)信息。
-x,--exclude=path排除路徑,如果路徑是一個(gè)目錄,它包含的所有文件被排除了。如果路徑不存在,它必須是一個(gè)絕對路徑不包含符號鏈接。
-X,--exclude-pattern=pattern排除某規(guī)則下的路徑。
五、與rm的對比
1.rm可能會引起程序僵死(在網(wǎng)上看到的)
2.tmpwatch在查找和過濾方面比較方便