CentOS裡tmp目錄自動清除和tmpwatch命令__作業系統
來源:互聯網
上載者:User
tmp目錄自動清除和tmpwatch命令
習慣性的將一些臨時檔案放在tmp目錄下,讓其自然刪除。同時,為了保證tmp目錄不爆滿,系統預設情況下每日會處理一次tmp目錄檔案,原理就是使用了tmpwatch。在系統最小安裝情況下,這個功能是沒有安裝的。 安裝:
# yum install tmpwatch.x86_64
安裝後會在/etc/cron.daily/目錄下產生一個tmpwatch檔案。內容如下:
# cat /etc/cron.daily/tmpwatch
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
-x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
-X '/tmp/hsperfdata_*' 240 /tmp
/usr/sbin/tmpwatch "$flags" 720 /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
if [ -d "$d" ]; then
/usr/sbin/tmpwatch "$flags" -f 720 "$d"
fi
done
從代碼中可看出,tmp目錄會刪除240小時未訪問過的檔案。
tmpwatch工具從指定的目錄中遞迴地搜尋並刪除指定的目錄中一段時間未訪問的檔案。
tmpwatch參數說明:
-u, --atime 基於訪問時間來刪除檔案,預設的。
-m, --mtime 基於修改時間來刪除檔案。
-c, --ctime 基於建立時間來刪除檔案,對於目錄,基於mtime。
-M, --dirmtime 刪除目錄基於目錄的修改時間而不是訪問時間。
-a, --all 刪除所有的檔案類型,不只是普通檔案,符號連結和目錄。
-d, --nodirs 不嘗試刪除目錄,即使是空目錄。
-d, --nosymlinks 不嘗試刪除符號連結。
-f, --force 強制移除。
-q, --quiet 只報告錯誤資訊。
-s, --fuser 如果檔案已經是開啟狀態在刪除前,嘗試使用“定影”命令。預設不啟用。
-t, --test 僅作測試,並不真的刪除檔案或目錄。
-U, --exclude-user=user 不刪除屬於誰的檔案。
-v, --verbose 列印詳細資料。
-x, --exclude=path 排除路徑,如果路徑是一個目錄,它包含的所有檔案被排除了。如果路徑不存在,它必須是一個絕對路徑不包含符號連結。
-X, --exclude-pattern=pattern 排除某規則下的路徑。