rizhas@rizhas-laptop:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 67G 58G 5,2G 92% /
none 4,0K 0 4,0K 0% /sys/fs/cgroup
udev 1,5G 12K 1,5G 1% /dev
tmpfs 303M 1,2M 302M 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 1,5G 348K 1,5G 1% /run/shm
none 100M 80K 100M 1% /run/user
overflow 1,0M 1,0M 0 100% /tmp
overflow 1,0M 1,0M 0 100% /tmp
¿Cómo limpiar /tmp
?
Respuestas:
Se supone que / tmp debe limpiarse al reiniciar, pero si no reinicia (lo cual es normal para los servidores), no se realizará la limpieza
find /tmp -ctime +10 -exec rm -rf {} +
eliminará todos los archivos y carpetas de más de 10 días. es posible que desee agregarlo al cron diario.
ACTUALIZAR
En los comentarios a continuación, @sfussenegger recomienda un formato ligeramente diferente de este comando que puede adaptarse mejor a sus necesidades y al sistema en el que está operando.
sudo find /tmp -type f -atime +10 -delete
Aquí el comando se usa
sudo
para asegurarse de que todo se elimine (o podría ejecutarlo como root), operando en archivos a los que no se ha accedido durante más de 10 días y solo elimina archivos, no carpetas . También se usa-delete
para evitar tener que ejecutar elrm
comandofuente
-type f
). de lo contrario, es posible que no se haya accedido al padre de un árbol de directorios durante un tiempo y elimine todo su contenido que aún podría estar en uso. así que el comando final que recomendaría essudo find /tmp -type f -atime +10 -delete
Puede suponer que se puede eliminar cualquier cosa dentro de un directorio tmp (/ tmp / / usr / tmp, etc.). ANTES de comenzar a eliminar, detenga todos los programas y servicios que está utilizando, ya que / tmp / puede ser utilizado por los programas para almacenar temporalmente información para esa sesión. Entonces, haga una
sudo service mysql stop
ysudo service apache2 stop
si tiene un mysql y / o apache ejecutándose. El nombre de los archivos en el directorio / tmp / la mayoría de las veces da una idea de a qué programa pertenecen.Entonces, desde la línea de comando ...
vaciará el directorio / tmp / y eliminará todos los archivos y subdirectorios. Tenga cuidado de escribirlo correctamente. El comando
pwd
allí no es necesario pero debería mostrar/tmp
.Si lo desea de forma interactiva (por lo que debe confirmar la eliminación):
También vale la pena señalar que un reinicio borrará / tmp también como se muestra aquí: ¿Cómo se limpia el directorio / tmp? Entonces, si / tmp / está lleno de archivos después de un reinicio, debe investigar de dónde se originan esos archivos.
También me gustaría decir que 1 Mb para / tmp no es mucho espacio. ¿Estás usando MySQL? Consulte https://unix.stackexchange.com/a/76058/10017 sobre cómo solucionar esto (gracias @drc)
fuente
who –b
(fecha de último arranque), y luego creando un archivo / tiempo de arranque con fecha en el momento del arranque (touch ....... /boottime
), le permitirá a uno hacer una operación segurafind /tmp -type f \( ! -newer /boottime \) -delete \;
, eliminando solo archivos anteriores al último arranquemktemp
regularmente mis scripts, estoy totalmente en desacuerdo con la declaración "sin ningún daño"./tmp
contiene algo más antiguo que el último reinicio, entonces los scripts de inicio no han hecho su trabajo.El
tmpreaper
programa se puede utilizar para limpiar / tmp periódicamente. Este programa elimina todo lo que no se ha accedido en un período de tiempo determinado, generalmente dos semanas. Para que esto funcione correctamente, el sistema de archivos en el que se encuentra debe tener laatimes
opción habilitada. Si usa un tmpfs , que parece que está haciendo, entonces debería estar bien.Por supuesto, reiniciar también borra / tmp , pero eso sería aburrido.
fuente
El directorio
/tmp
significa temporal.Este directorio almacena datos temporales. No necesita eliminar nada de él, los datos contenidos en él se eliminan automáticamente después de cada reinicio.
Aún así, si desea eliminar los datos presentes en él, use
sudo rm -r /tmp/*
eliminarlo no causará ningún problema, ya que estos son archivos temporales.
fuente
Tenga cuidado antes de ejecutar un comando como
rm -r ./*
. Una vez que lo ejecute, será muy difícil o imposible recuperar datos.Todo será eliminado. Asegúrese de que el directorio que está eliminando es correcto.
Hay una forma más segura de manejar las cosas.
De esa manera, cuando ejecuta accidentalmente este comando desde el interior de su shell
history
, no eliminará los archivos incorrectos (a menos que los esté manteniendo/tmp
).fuente
El
/tmp
directorio se borró de manera predeterminada en cada arranque, porqueTMPTIME
es0
por defecto.fuente
Si su montaje "/ tmp" en un sistema de archivos de Linux está montado como desbordamiento (a menudo con un tamaño de 1 MB), esto probablemente se deba a que no especificó "/ tmp" como su propia partición y su sistema de archivos raíz se llenó y "/ tmp" remontado como una alternativa. Para solucionar esto después de que haya despejado el espacio, simplemente desmonte el respaldo y debería volver a montar en su punto original:
si el dispositivo está ocupado use
fuente