¿Cómo se /tmplimpia el directorio? ¿Es automático? Si es así, ¿con qué frecuencia se limpia?
filesystem
tmp
Olivier Lalonde
fuente
fuente

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0en / etc / fstab.Respuestas:
¡Nota! Esta respuesta está desactualizada desde al menos ubuntu 14.04. Vea otras respuestas para la situación actual y si resultan correctas, entonces vótelas furiosamente. También publique un comentario para que pueda poner un enlace aquí a la respuesta correcta actual.
Para 14.04 ver https://askubuntu.com/a/759048/1366
Para 16.10 ver https://askubuntu.com/a/857154/453746
Antigua respuesta de 2011:
La limpieza de
/tmpse realiza mediante el script inicial/etc/init/mounted-tmp.conf. La secuencia de comandos se ejecuta desde el inicio cada vez que/tmpse monta. Prácticamente eso significa en cada arranque.El script hace aproximadamente lo siguiente: si un archivo
/tmpes anterior a$TMPTIMEdías, se eliminará.El valor predeterminado de
$TMPTIMEes 0, lo que significa que todos los archivos y directorios/tmpse eliminan.$TMPTIMEes una variable de entorno definida en/etc/default/rcS.fuente
El directorio se borra de manera predeterminada en cada arranque, porque
TMPTIMEes 0 de forma predeterminada.Aquí puede cambiar la hora en el siguiente archivo:
TMPTIMEdice con qué frecuencia el directorio tmp debería eliminarse en díasfuente
tmpreaperuna oportunidad.tmpwatchdebería ser una herramienta adecuada.Si bien la
/tmpcarpeta no es un lugar para almacenar archivos a largo plazo, ocasionalmente desea mantener las cosas un poco más tiempo que la próxima vez que reinicie , que es el valor predeterminado en los sistemas Ubuntu. Sé una o dos veces que descargué algo/tmpdurante las pruebas, lo reinicié después de hacer cambios y luego perdí los datos originales nuevamente. Esto se puede cambiar si desea mantener sus/tmparchivos un poco más.Cambiar la
/tmpfrecuencia de limpiezaLa configuración predeterminada que le indica a su sistema que se borre
/tmpal reiniciar se mantiene en el/etc/default/rcSarchivo. El valor que veremos esTMPTIME.El valor actual de
TMPTIME=0dice eliminar archivos al reiniciar a pesar de la antigüedad del archivo. Cambiar este valor a un número diferente (positivo) cambiará la cantidad de días que un archivo puede sobrevivir/tmp.Esta configuración permitiría que los archivos permanezcan
/tmphasta que tengan una semana de antigüedad y luego los elimine en el próximo reinicio. Un número negativo (TMPTIME=-1) le dice al sistema que nunca elimine nada/tmp. Probablemente no sea algo que desee, pero está disponible.fuente
/etc/init/mounted-temp.conf, pero tiene la líneastart on mounted MOUNTPOINT=/tmpque me hace pensar que no es aplicable./var/tmplugar de/tmp.Estoy comprobando esto en Ubuntu 16.10. Puedo certificar que la edición / etc / default / rcS ya no tiene ningún efecto y que los archivos en tmp se borran al reiniciar sin importar lo que coloque en ese archivo. Como otros mencionan, tmpreaper ya no se usa.
Creo que la respuesta correcta es que Ubuntu 16.10 tiene una nueva configuración. Hay una carpeta /etc/tmpfiles.d, documentada en la página de manual "tmpfiles.d". En esa carpeta, se debe colocar un archivo de configuración para controlar si se debe borrar / tmp. Esto es lo que estoy haciendo para evitar que los reinicios borren archivos en / tmp a menos que tengan 20 días de antigüedad:
Reemplace "20d" por "-" si nunca desea eliminar archivos. Este es mi mejor esfuerzo, esa página de manual es casi impenetrable con detalles.
La ventaja de la nueva configuración es que un limpiador de archivos aún puede ejecutarse incluso si el sistema no se reinicia (como en el caso de un servidor siempre en funcionamiento). Esa es una gran ventaja, creo.
fuente
man tmpfiles.dd /tmp/ - - - 20dsystemctl start systemd-tmpfiles-cleanEn Ubuntu 14.04 esto se hace mediante
tmpreaper, que cron llama diariamente (desde/etc/cron.daily). El programa se puede configurar a través de/etc/default/rcSy/etc/tmpreaper.conf.fuente
Antes del 14.04:
Se limpia cada vez que reinicia.
fuente
tmpreaper.En un
systemdUbuntu (15.10 y más reciente), esto lo hace systemd, usando elsystemd-tmpfiles-cleanservicio y el temporizador:Y
Entonces se
systemd-tmpfiles-cleanejecuta en apagado, y una vez al día de lo contrario. Los archivos que limpia se pueden extender utilizando los/etc/tmpfiles.dmencionados en otra respuesta .Puede cambiar el comportamiento del temporizador usando
systemctl edit systemd-tmpfiles-clean.timer, y usando variasTimeropciones de configuración de systemd (verman 5 systemd.timer).fuente
/tmpaún no se limpió. y necesito que lo limpien incluso el inicio manualsudo systemctl start systemd-tmpfiles-cleanno funciona. Alguna idea de por qué?En uno de nuestros servidores que ejecutan Ubuntu, tenemos un script para eliminar archivos en / tmp y se ejecuta todas las noches.
El guión es:
Simplemente guarde el contenido anterior en un archivo chmod 775 el archivo y cree una entrada cron para ejecutarlo. Dado que este es un servidor web, no queremos reiniciarlo por razones obvias.
fuente
ln -s /usr /tmp/kaboomo inclusoln -s /* /tmp/...