Si no se ha accedido a los archivos/directorios en /tmp durante mucho tiempo, es posible que se eliminen automáticamente. “reloj tmp ” limpia el contenido de /tmp u otros directorios temporales como /var/tmp. La limpieza de archivos a los que no se accede en /tmp es una función predeterminada del paquete "tmpwatch", que proporciona un trabajo cron /etc/cron.daily/tmpwatch . Este es un script de shell ejecutado por crond diariamente, que verifica /tmp, /var/tmp y varios directorios en /var/ y elimina archivos/directorios a los que no se ha accedido durante mucho tiempo.
Por ejemplo, un archivo de configuración de muestra /etc/cron.daily/tmpwatch en CentOS/RHEL 5 se ve a continuación:
# 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 configuración anterior eliminará archivos/directorios a los que no se haya accedido durante 240 horas (10 días para /tmp) o 720 horas (30 días para /var/tmp).
A continuación se muestra un archivo de configuración de muestra /etc/cron.daily/tmpwatch en CentOS/RHEL 6:
# 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 configuración anterior que eliminará archivos/directorios a los que no se haya accedido durante 10 (/tmp) o 30 (/var/tmp) días.
En la mayoría de los casos, la eliminación de archivos tmpwatch se puede ignorar de manera segura, ya que los archivos no utilizados deben eliminarse de /tmp para liberar espacio en el sistema de archivos, de modo que el sistema de archivos que contiene /tmp no se llene con el tiempo.
Sin embargo, si necesita deshabilitar esta función por alguna razón, a pesar de la importancia de tmpwatch para garantizar que /tmp no llene un sistema de archivos, puede usar cualquiera de los métodos que se describen a continuación.
Método 1:eliminar el paquete tmpwatch
La forma más sencilla es eliminar el propio paquete tmpwatch:
# rpm -e tmpwatch
o
# yum remove tmpwatch
Método 2:desactivar la entrada cron tmpwatch
En algunos casos, es posible que no pueda eliminar el paquete tmpwatch debido a las dependencias que tiene. Obtendrá un error que se muestra a continuación:
# 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
Alternativamente, también puede mover o eliminar el responsable del archivo /etc/cron.daily/tmpwatch para programar la eliminación del archivo de los directorios /var/tmp y /tmp/.
# mv /etc/cron.daily/tmpwatch /other/location/tmpwatch.bkp
o
# rm /etc/cron.daily/tmpwatch