0
當Ubuntu的容量超過80%或一個月後,是否可以使用tmp文件夾中的縮略詞自動刪除文件?有沒有辦法自動刪除tmp文件夾中的文件?
我應該使用crontab嗎?或者我應該同時編寫crontab和shellscript?
當Ubuntu的容量超過80%或一個月後,是否可以使用tmp文件夾中的縮略詞自動刪除文件?有沒有辦法自動刪除tmp文件夾中的文件?
我應該使用crontab嗎?或者我應該同時編寫crontab和shellscript?
在我看來,你可以使用基於年齡刪除文件的標準方法,稍作修改以降低文件系統過滿時的閾值。
刪除所有*.thumb
文件/tmp
超過一定年齡(約一個月)的通常方法是用以下命令:
find /tmp -type f -name '*.thumb' -mtime +30 -delete
所以,你需要做的是降低門檻是在某些情況下修改mtime
測試。要做到這一點基於如何充分的文件系統可能會喜歡的東西來完成:
#!/usr/bin/env bash
# Default to about a month.
thresh=30
# Get percentage used of /tmp, needs to match output of df, such as:
# Filesystem 1K-blocks Used Available Use% Mounted on
# tmp 1000000 280000 720000 28% /tmp
tmppct=$(df | awk '$6=="/tmp" { gsub("%", "", $5); print $5 }')
# Reduce threshold if tmp more than 80% full.
[[ ${tmppct} -gt 80 ]] && thresh=1
# Go and clean up, based on threshold.
find /tmp -type f -name '*.thumb' -mtime +${thresh} -delete
的只是腳本傳遞的df
(根據指定的格式)的輸出通過的可能有點棘手:
awk '$6=="/tmp" { gsub("%", "", $5); print $5 }'
這只是將:
/tmp
線;%
;和然後,只需創建一個crontab
條目,該條目將定期運行該腳本。