El directorio “/tmp” o tmp (directorio temporal) en Linux es un lugar donde cualquier programa almacena los archivos necesarios que puede usar durante una sesión ejecutiva. Es uno de los directorios más utilizados en Linux. Digamos que estás escribiendo un documento. Estás haciendo eso en vscode. El vscode guardará una copia temporal de su documento en el archivo tmp y lo actualizará periódicamente. Siempre puedes ir allí y restaurarlo si es necesario.
Aprender sobre el directorio tmp a fondo es imprescindible si desea ser un usuario efectivo de Linux. Saber cómo funciona, cuáles son los atributos de este directorio, etc., mejorará mucho su control de Linux. Responderemos a todas las posibles preguntas que se te ocurran. Quédate con nosotros para aprender.
Linux tmp Directory:¿Cuál es el propósito?
El directorio /tmp contiene todos los archivos necesarios que se requerirán "temporalmente" durante la ejecución del programa. En caso de cualquier bloqueo o evento inesperado, puede recuperar su archivo del directorio. Además, puede ver qué subprogramas se están utilizando durante la ejecución de un programa.
Cuando guarda su archivo en el destino deseado y sale del programa correctamente, todos los programas o documentos temporales desaparecen dejando el directorio vacío. Si no se vacía, luego de reiniciar su PC, se volverá vacío.
¿Se puede llenar este directorio?
Para un usuario normal de Linux, es muy difícil llenar el directorio tmp. Los archivos que se almacenan en el directorio tmp son realmente pequeños, algunos kilobytes de tamaño. Entonces, debe tener una cantidad gigantesca de archivos reunidos allí para llenar el directorio. No es imposible pero es muy difícil.
Por lo general, ejecutamos uno o dos usuarios en nuestra PC y con frecuencia la apagamos. El uso de una menor cantidad de usuarios crea una menor cantidad de archivos temporales. Y apagar una PC borra todos los archivos temporales, no hay necesidad de preocuparse.
Si está ejecutando un servidor que contiene toneladas de usuarios, entonces el directorio tmp es un dolor de cabeza. No puede apagar un servidor con frecuencia, por lo que no hay posibilidad de vaciado automático. Debe eliminar los archivos temporales manualmente para este escenario.
Vaciar el directorio tmp manualmente
Como usuario promedio de Linux, no se recomienda vaciar este directorio tmp manualmente. Eso conducirá a un bloqueo del sistema porque los archivos almacenados en su interior son necesarios para ejecutar los programas que están abiertos en este momento.
Si está ejecutando un servidor, existe un enfoque sistemático para vaciar el directorio tmp. En las secciones siguientes, vamos a discutir ese enfoque en gran detalle.
Para eliminar archivos del directorio tmp de manera efectiva, debe tener crontab en su sistema. Si no tiene idea sobre el crontab, permítame resumirlo brevemente.
El crontab es una aplicación que realiza una determinada operación preprogramada en un sistema Linux. Por ejemplo, supongamos que debe actualizar su sistema en un intervalo periódico regular.
El crontab le permite realizar esta tarea. Solo tienes que indicarle cuándo se va a realizar la operación y cómo se debe realizar. En ese instante en particular, crontab hará el trabajo de acuerdo a sus instrucciones.
En un servidor, hay toneladas de usuarios, y cada uno de ellos tiene sus propios archivos temporales. Su eliminación aleatoria provocará una grave interferencia en la actividad del usuario. Tienes que buscar esos archivos temporales que están fuera de uso y luego tienes que eliminarlos. Es algo bastante tedioso y monótono de hacer. Además, matará tu tiempo.
Una solución factible es eliminar esos archivos automáticamente después de un cierto período al que no se accede en ese período de tiempo. Este proceso automatizado es eficiente y ahorra tiempo. Además, le ahorra trabajo.
Para ejecutar estas operaciones automatizadas, debe recibir ayuda de crontab. Es por eso que lo había discutido hace un rato. Digamos que desea eliminar los archivos no utilizados del directorio tmp una vez a la semana.
Primero, notifique a los usuarios de su servidor sobre esto. Dígales que va a eliminar los archivos temporales a los que no se accede en una semana. Ejecutar la operación sin anunciar la política puede conducir a una masacre.
Procedimiento para Limpiar el Directorio
Luego, debe escribir un script que encontrará los archivos deseados. El comando es el siguiente:
find /tmp -type f \( ! -user root \) -atime +7
Después de ejecutarlo, podrá encontrar todos los archivos (excepto los archivos del usuario raíz) a los que no se accedió en los últimos siete días. Ahora estás a la mitad. Ha encontrado esos archivos innecesarios que deben eliminarse. Para borrarlos, tienes que ejecutar esto:
find /tmp -type f \( ! -user root \) -atime +7 -delete
Entonces, hemos encontrado una manera de vaciar el directorio tmp en Linux de manera sistemática. Pero el dueño del servidor tiene que ejecutar el script manualmente cada semana. Esto se puede evitar usando crontab. Para hacer que el script se pueda ejecutar periódicamente, hagamos un archivo que contenga la sintaxis. Ahora estamos creando un archivo llamado "tmp.swipe.sh" (se excluyen las comillas).
Luego se debe configurar un comando crontab. Primero, ejecuta esto:
crontab -e
Se abrirá el archivo crontab. Luego ejecute este comando allí. Ejecutará nuestro script todos los lunes a las 12 h.
0 0 * * mon /opt/scripts/tmp.swipe.sh
Después de escribir esto, guarde una salida.
Entonces, hemos creado una forma de limpiar el directorio tmp una vez por semana. No tienes que pensar más en ello. Se ahorra tiempo, espacio y trabajo. También puede cambiar el intervalo de tiempo según su conveniencia. Aquí hemos utilizado el período de siete días solo como ejemplo para demostrar el procedimiento.
Hay un directorio llamado /var/tmp. ¿Cuál es la diferencia entre esto y /tmp?
Ambos básicamente juegan el mismo papel en un sistema operativo. La única diferencia es el período de borrado.
Si reiniciamos nuestro sistema, los archivos en /tmp se eliminan automáticamente, mientras que los archivos que permanecen en /var/temp no se eliminan solo con un reinicio del sistema.
Además, los archivos dentro de /tmp se vacían automáticamente después de diez días. Por el contrario, los archivos dentro de /var/tmp se eliminan una vez al mes.
¿Qué sucede si elimino el directorio tmp accidentalmente?
A menudo es necesario restaurar el directorio tmp porque muchos usuarios de Linux eliminan todo el directorio por accidente. El proceso de restauración no es una tarea difícil en absoluto. Ejecute los siguientes comandos que se indican a continuación:
sudo mkdir /tmp
sudo chmod 1777 /tmp
El "mkdir" crea un nuevo directorio tmp. Y luego, estamos dando a los usuarios acceso al directorio. Vuelva a verificar los permisos ejecutando esto:
ls -ld /tmp
Ahora apaga tu PC. Y enciéndelo de nuevo. Su nuevo directorio tmp está listo para ser utilizado. Ya has terminado.
Conclusión
Hemos discutido mucho sobre el directorio tmp en Linux aquí. Tener en cuenta estos puntos será suficiente para que cualquier usuario ejecute un sistema Linux con facilidad.
Aunque, en mi opinión, esto será suficiente, tal vez tenga algo en mente que debería tratarse en esta publicación, pero no lo he hecho. Para el hombre es errar. Deja un comentario con esa parte necesaria que se suponía que debía mencionarse aquí. Eso es todo por hoy.