Se non si accede a file/directory in /tmp da molto tempo, è possibile che vengano rimossi automaticamente. “tmpwatch ” pulisce il contenuto di /tmp o di altre directory temporanee come /var/tmp. La pulizia dei file non accessibili in /tmp è una funzione predefinita del pacchetto "tmpwatch", che fornisce un lavoro cron /etc/cron.daily/tmpwatch . Questo è uno script di shell avviato da crond daily, che controlla /tmp, /var/tmp e diverse directory in /var/ e rimuove file/directory a cui non si accede da molto tempo.
Ad esempio, un file di configurazione di esempio /etc/cron.daily/tmpwatch su CentOS/RHEL 5 è simile al seguente:
# 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
La configurazione precedente rimuoverà file/directory a cui non è stato effettuato l'accesso per 240 ore (10 giorni per /tmp) o 720 ore (30 giorni per /var/tmp).
Un file di configurazione di esempio /etc/cron.daily/tmpwatch su CentOS/RHEL 6 è simile al seguente:
# 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_*' -X '/tmp/.hdb*lock' -X '/tmp/.sapstartsrv*.log' \ -X '/tmp/pymp-*' 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
La configurazione di cui sopra che rimuoverà file/directory a cui non è stato effettuato l'accesso per 10 (/tmp) o 30(/var/tmp) giorni.
Nella maggior parte dei casi, la rimozione di file da tmpwatch è ignorabile in quanto i file inutilizzati devono essere rimossi da /tmp per liberare spazio nel file system in modo che il file system contenente /tmp non si riempia nel tempo.
Tuttavia, se hai fortemente bisogno di disabilitare questa funzione per qualche motivo, nonostante l'importanza di tmpwatch nel garantire che /tmp non causi il riempimento di un file system, puoi utilizzare uno dei metodi descritti di seguito.
Metodo 1 – Rimozione del pacchetto tmpwatch
Il modo più semplice è rimuovere il pacchetto tmpwatch stesso:
# rpm -e tmpwatch
o
# yum remove tmpwatch
Metodo 2:disabilitare la voce cron di tmpwatch
In alcuni casi potresti non essere in grado di rimuovere il pacchetto tmpwatch a causa delle dipendenze che ha. Riceveresti un errore mostrato di seguito:
# rpm -e tmpwatch LANG=C rpm -e tmpwatch error: Failed dependencies: tmpwatch is needed by (installed) tetex-3.0-33.15.el5_8.1.x86_64 tmpwatch is needed by (installed) cups-1.3.7-32.el5_11.x86_64
In alternativa, puoi anche spostare o rimuovere il file /etc/cron.daily/tmpwatch responsabile della pianificazione della rimozione del file da /var/tmp e /tmp/directories.
# mv /etc/cron.daily/tmpwatch /other/location/tmpwatch.bkp
o
# rm /etc/cron.daily/tmpwatch