關於Linux系統清理/tmp/文件夾,你可能想知道的

咱們知道,在Linux系統中/tmp文件夾裏面的文件會被清空,至於多長時間被清空,如何清空的,可能你們知識的就很少了,因此,今天咱們就來剖析一個這兩個問題。測試

在RHEL\CentOS\Fedora\系統中(本次實驗是在RHEL6中進行的)

先來看看tmpwatch這個命令,他的做用就是刪除一段時間內不使用的文件(removes files which haven’t been accessed for a period of time)。具體的用法就很少說了,有興趣的自行研究。咱們主要看看和這個命令相關的計劃任務文件。 
他就是/etc/cron.daily/tmpwatch,咱們能夠看一下這個文件裏面的內容 
#! /bin/sh 
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_*’ 10d /tmp 
/usr/sbin/tmpwatch "$flags" 30d /var/tmp 
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do 
    if [ -d "$d" ]; then 
        /usr/sbin/tmpwatch "$flags" -f 30d "$d" 
    fi 
done
spa

這個腳本你們仔細分析一下就明白了,第一行至關於一個標記(參數),第二行就是針對/tmp目錄裏面排除的目錄,第三行,這是對這個/tmp目錄的清理,下面的是針對其餘目錄的清理,就不說了。pwa

咱們就來看/usr/sbin/tmpwatch "$flags" 30d /var/tmp這一行,關鍵的是這個30d,就是30天的意思,這個就決定了30天清理/tmp下不訪問的文件。若是說,你想一天一清理的話,就把這個30d改爲1d。這個你懂的……哈哈!unix

但有個問題須要注意,若是你設置更短的時間來清理的話,好比說是30分鐘、10秒等等,你能夠在這個文件中設置,但你會發現從新電腦,他不清理/tmp文件夾裏面的內容,這是爲何呢?這就是tmpwatch他所在的位置決定的,他的上層目錄是/etc/cron.daily/,而這個目錄是第天執行一次計劃任務,因此說,你設置了比一天更短的時間,他就不起做用了。這下明白了吧。 
因此結論是:在RHEL6中,系統自動清理/tmp文件夾的默認時限是30天code

在Debian\Ubuntu系統中(Ubuntu10.10爲實驗環境)

在Ubuntu系統中,在/tmp文件夾裏面的內容,每次開機都會被清空,若是不想讓他自動清理的話,只須要更改rcS文件中的TMPTIME的值。 
咱們看如何來修改 
sudo vi /etc/default/rcS
把 
TMPTIME=0
修改爲 
TMPTIME=-1或者是無限大
改爲這樣的話,系統在從新啓動的時候就不會清理你的/tmp目錄了。 
依些類推,若是說要限制多少時間來更改的話,就能夠改爲相應的數字(本人沒有測試,我是這麼理解的)ci

因此結論是:在Ubuntu中,系統自動清理/tmp文件夾的時限默認每次啓動rem

相關文章
相關標籤/搜索