Estoy empezando a poner varios archivos /tmp
y me preguntaba sobre las reglas para eliminarlos.
Me imagino que es diferente para diferentes distribuciones, y estoy particularmente interesado en las versiones de escritorio de Ubuntu y Fedora.
Pero una buena forma general de averiguarlo sería una gran cosa.
¡Incluso mejor sería una buena forma general de controlarlo! (Algo así como 'todos los días a las 3 de la mañana, elimine los /tmp
archivos anteriores a 60 días, pero no borre el directorio al reiniciar')
Respuestas:
Eso depende de tu distribución. En algunos sistemas, se elimina solo cuando se inicia, otros tienen cronjobs que ejecutan la eliminación de elementos anteriores a n horas.
/etc/default/rcS
)./etc/cron.daily/tmpwatch
; RHEL7 y tipo RedHat con systemd en el que está configurado/usr/lib/tmpfiles.d/tmp.conf
, llamado porsystemd-tmpfiles-clean.service
)./etc/conf.d/bootmisc
.fuente
systemd-tmpfiles-clean.service
.tmpreaper
paquete, es una versión bifurcada detmpwatch
.cat: /etc/default/rcS: No such file or directory
En CentOS (y supongo que Fedora), hay un trabajo en /etc/cron.daily llamado
tmpwatch
. Esto se ejecuta/usr/sbin/tmpwatch
, lo que eliminará los archivos a los que no se haya accedido en el número de horas especificado, es decir, el comportamiento predeterminado es examinaratime
el archivo para evaluar si se ha utilizado recientemente.http://linux.die.net/man/8/tmpwatch
Otras distribuciones (e instalaciones) pueden tener / tmp montado como tmpfs, que es un sistema de archivos en memoria. Esto se borrará en el arranque.
fuente
yum install tmpwatch
sudo find /tmp -type f -atime +10 -delete
eliminará los archivos tmp a los que no se haya accedido en 10 días, úselos con cuidadoEn Ubuntu 11.10 que estoy usando, hay un script de inicio
/etc/init/mounted-tmp.conf
. El comienzo dice:Puede leer más detalles, sin embargo, en general,
/tmp
se limpia cuando está montado o/usr
montado. Esto ocurre regularmente en el arranque, por lo que esta/tmp
limpieza se ejecuta en cada arranque.En lo
/etc/default/rcS
que haTMPTIME
establecido, que se usa en el script de inicio anterior para alimentar los dosfind
comandos al final, básicamente controla la eliminación de archivos en función de sus tiempos (modificado, modificado, accedido).fuente
En RHEL 6.2, tmpwatch elimina los archivos en / tmp si no se ha accedido a ellos en 10 días.
El archivo /etc/cron.daily/tmpwatch define la forma en que se llama tmpwatch.
Los argumentos -x son archivos a excluir. El segundo al último argumento es el tiempo de espera después de la última hora accedida. El último argumento es el directorio a examinar.
fuente
Desde Fedora 18 en adelante,
/tmp
está montado entmpfs
(es decir, RAM) de forma predeterminada, y por lo tanto se borra al apagar.Este comportamiento se puede deshabilitar emitiendo
systemctl mask tmp.mount
y reiniciando (y volviendo a habilitar emitiendosystemctl unmask tmp.mount
y reiniciando), y luego/tmp
se montará en el/
sistema de archivos y se puede controlar mediante la/usr/lib/tmpfiles.d/tmp.conf
configuración.Ver http://fedoraproject.org/wiki/Features/tmp-on-tmpfs y
man tmpfiles.d
para más detalles sobre cada caso.fuente
En openSUSE 13.2, el comportamiento de limpieza podría controlarse con la siguiente variable en sysconfig.
MAX_DAYS_IN_TMP
MAX_DAYS_IN_LONG_TMP
TMP_DIRS_TO_CLEAR
LONG_TMP_DIRS_TO_CLEAR
OWNER_TO_KEEP_IN_TMP
CLEAR_TMP_DIRS_AT_BOOTUP
Puede modificar estas variables por (el uso de cada variable también se puede encontrar allí)
/etc/sysconfig/cron
archivo manualmente en la línea de comando.fuente
Los archivos de orden temporal que no desea borrar en el arranque van en / var / tmp
Para eso es :-)
fuente