GNU/Linux >> Tutoriales Linux >  >> Linux

Búsqueda de archivos de más de x días en un sistema con un cuadro ocupado simplificado

-mtime es un predicado estándar de find (al contrario de -delete ) pero parece que tienes una versión simplificada de busybox , donde el FEATURE_FIND_MTIME la función se ha deshabilitado en el momento de la compilación.

Si puede reconstruir el cuadro ocupado con él habilitado, debería poder hacer:

find . -mtime +6 -type f -exec rm -f {} +

O si FEATURE_FIND_DELETE también está habilitado:

find . -mtime +6 -type f -delete

Si no, otras opciones podrían ser usar find -newer (asumiendo FEATURE_FIND_NEWER está habilitado) en un archivo que está configurado para tener un tiempo de modificación de una semana.

touch -d "@$(($(date +%s) - 7 * 86400))" ../ref &&
  find . ! -type f -newer ../ref -exec rm -f {} +

O si -newer no está disponible pero sh [ de admite -nt :

touch -d "@$(($(date +%s) - 7 * 86400))" ../ref &&
  find . ! -type f -exec sh -c '
    for f do
      [ "$f" -nt ../ref ] || printf "%s\0" "$f"
    done' sh {} + |
    xargs -0 rm -f

Desde man find :

-ahora n

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

-ctiempo n

El estado del archivo se modificó por última vez hace n*24 horas. Consulte los comentarios de -atime para comprender cómo afecta el redondeo a la interpretación de las horas de cambio de estado del archivo.

Dependiendo de los casos de uso de los archivos que desea eliminar, estas son sus únicas otras opciones para find . ¿Por qué es mtime ¿no disponible? ¿Qué sistema de archivos estás usando? ¿Exploraste otras opciones?


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

  2. ¿Por qué Find -mtime +1 solo devuelve archivos de más de 2 días?

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

  4. Encuentra todos los archivos de más de un minuto

  5. encontrar archivos con ACL establecidas

Encuentra archivos perdidos con Scalpel

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

¿Cómo se eliminan archivos anteriores a la fecha específica en Linux?

Script Bash para eliminar archivos de más de x días con subdirectorios

Eliminación elegante de archivos con más de 30 días de antigüedad

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