GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Eliminar todos los archivos y carpetas en /tmp que tengan más de un día?

Estoy tratando de eliminar todos los archivos y carpetas en /tmp dir que tienen más de un día.

Sé borrar todos los archivos y carpetas que tengo que hacer

rm -rf *

Pero no estoy seguro de qué otra forma encuentro todos los archivos y carpetas con más de un día de antigüedad para eliminarlos y colocar el cron.

Respuesta aceptada:

Primero, usa find para seleccionar estos archivos:

find /tmp -mmin +1440

encontrará archivos que fueron modificados hace más de 1440 minutos. (Hay una opción para usar días en lugar de minutos, pero se redondea hacia arriba y +1 significará 2 días o más, lamentablemente. Consulte el aviso a continuación).

Pruebe esto, y si está satisfecho de que esto encuentra los archivos correctos, elimínelos de una vez:

find /tmp -mmin +1440 -delete

Ver man find para otras posibilidades (hora del último cambio de estado, hora de acceso).

Aviso sobre el uso de -mtime +1 :

En hombre encontrar

Dice:

-mtimen

Los datos del archivo se modificaron por última vez hace n*24 horas.

Pero también dice:

Ver los comentarios para -atime para comprender cómo afecta el redondeo a la
interpretación de los tiempos de modificación de archivos.

Los comentarios de -atime decir:

Cuando find calcula cuántos períodos de 24 horas atrás se accedió por última vez al archivo
, se ignora cualquier parte fraccionaria, por lo que para hacer coincidir -atime +1 , se debe haber accedido a un archivo
hace al menos dos días.

En otras palabras, -mtime puede contar solo en unidades de 24 horas o un día cada una hasta -mtime +1 va, esto significa exactamente más de un día por al menos un día (es decir, dos días o más)

-mmin por otro lado puede contar en minutos. Entonces, si la precisión estricta es vital, entonces -mmin +1440 (1440 minutos =1 día) podría usarse en lugar de -mtime +1


Ubuntu
  1. ¿Cómo eliminar todos los archivos anteriores a X número de días en Linux?

  2. ¿Usar Buscar para encontrar cierto directorio y eliminar todos los archivos excepto un directorio?

  3. ¿Cómo crear un trabajo cron que elimine automáticamente los archivos que tienen más de 30 días?

  4. Cómo encontrar y eliminar archivos anteriores a un período de tiempo particular en Linux

  5. buscar y eliminar archivos o carpetas con más de x días

Las 3 mejores herramientas para buscar y eliminar archivos duplicados en Linux

Cómo encontrar y eliminar archivos duplicados en Ubuntu usando Fdupes

Cómo eliminar archivos anteriores a los días especificados en Linux

Cómo eliminar archivos y directorios en Linux

¿Eliminar todo /var/log?

Trabajo cron para eliminar todos los archivos de más de 7 días con extensión en una carpeta específica:no funciona