135 votos

¿Cuándo obtener despejado/tmp?

Estoy tomando para poner varios archivos en /tmp, y me preguntaba cuales son las reglas de la eliminación de ellos son?

Me estoy imaginando que es diferente para diferentes distribuciones, y estoy particularmente interesado en Ubuntu y Fedora versiones de escritorio.

Pero es un buen modo general de conocer sería una gran cosa.

Aún mejor sería una buena manera general de control! (Algo así como "todos los días a las 3 de la mañana, elimine los archivos temporales de más de 60 días, pero no borrar el directorio en el reinicio')

150voto

kba Puntos 726

Eso depende de su distribución. En un sistema, se elimina sólo al arrancar, otros tienen funcionamiento cronjobs eliminar elementos mayores de n horas.

  • En sistemas Debian: durante el arranque (las reglas se definen en /etc/default/rcS ).
  • En sistemas RedHat: por edad (RHEL6 era /etc/cron.daily/tmpwatch ; RHEL7 y RedHat-como con systemd está configurado en /usr/lib/tmpfiles.d/tmp.conf , llamado por systemd-tmpfiles-clean.service ).
  • En Gentoo /etc/conf.d/bootmisc .

24voto

cjc Puntos 17092

En CentOS (y supongo Fedora), hay un trabajo en /etc/cron.diaria llamada" tmpwatch. Este se ejecuta /usr/sbin/tmpwatch, que va a eliminar archivos que no se ha accedido en el número especificado de horas, es decir, el comportamiento predeterminado es examinar la atime para el archivo para evaluar si se ha usado recientemente.

http://linux.die.net/man/8/tmpwatch

Otras distribuciones (y de instalaciones) puede tener /tmp montado como tmpfs, que es una memoria de sistema de ficheros. Esto se despejaron en el arranque.

8voto

icyrock.com Puntos 1025

En Ubuntu 11.10 que estoy usando, hay un advenedizo secuencia de comandos en /etc/init/mounted-tmp.conf. El inicio de dice esto:

# mounted-tmp - Clean /tmp directory
#
# Cleans up the /tmp directory when it does not exist as a temporary
# filesystem.

description "Clean /tmp directory"

start on (mounted MOUNTPOINT=/tmp) or (mounted MOUNTPOINT=/usr)

Usted puede leer más detalles, sin embargo, en general, /tmp se limpia cuando ya sea montado o /usr está montado. Esto regularmente ocurre en el arranque, por lo que esta /tmp de limpieza se ejecuta en cada inicio.

En /etc/default/rcS tiene TMPTIME , que es la utilizada en el anterior script de inicio para alimentar a los dos find comandos en su extremo - básicamente el control de la eliminación de archivos basados en sus tiempos (modificado, cambiado, consultado).

5voto

johnjamesmiller Puntos 141

En RHEL 6.2 se eliminan los archivos en/tmp por tmpwatch si ellos no se hayan utilizado en 10 días.

El archivo /etc/cron.daily/tmpwatch define la forma se llama 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

El x - argumentos son archivos debe ser excluido. El segundo al último argumento es el tiempo de espera después de que el último acceso a tiempo. El último argumento es el directorio para examinar.

4voto

A partir de Fedora 18, /tmp está montado en tmpfs (es decir, RAM) por defecto, y por lo tanto se borran al apagar.

Este comportamiento puede ser desactivada mediante la emisión de systemctl mask tmp.mount y reiniciar (y volver a habilitar la emisión de systemctl unmask tmp.mount y reiniciar) y, a continuación, /tmp será montada en la / sistema de archivos y puede ser controlado por /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.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: