GNU/Linux >> Tutoriales Linux >  >> Linux

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

Búsqueda por marca de tiempo del archivo

Los sistemas de archivos Unix/Linux tienen tres tipos de marcas de tiempo en cada archivo. Son los siguientes:

  1. Tiempo de acceso (-atime) :La marca de tiempo cuando se accedió al archivo por última vez.
  2. Hora de modificación (-mtime) :La marca de tiempo cuando el archivo fue modificado por última vez.
  3. Cambiar hora (-ctime) :la marca de tiempo cuando se modificaron por última vez los metadatos de un archivo (como los permisos o la propiedad).

Buscar y eliminar archivos de más de 7 días

Tomemos un ejemplo, en el que buscaremos y eliminaremos un archivo que tenga más de 7 días. Usaremos la opción “-mtime ” del comando de búsqueda para esto.

1. Obtenga una lista de archivos usando el comando de búsqueda de la siguiente manera:

# find /path_to_directory -mtime +7 -type f -exec ls {}\;

2. Si los nombres de archivo comienzan con un patrón en particular, fíltrelo de la siguiente manera:

# find /path_to_directory -name 'filenamepattern*' -mtime +7 -type f -exec ls {}\;

3. Después de verificar y confirmar la salida, vaya a la secuencia de comandos de eliminación (es muy IMPORTANTE), de lo contrario, habrá una pérdida de datos irrecuperable.

# find /path_to_directory -name 'filenamepattern*' -mtime +7 -type f -exec rm -fv {}\;

4. Si es necesario hacer esto en un servidor remoto a través de un trabajo cron y registrar los nombres de archivo de los archivos eliminados, use el siguiente comando

# ssh user@remote_ip "find /path_to_directory -name 'filenamepattern*' -mtime +7 -type f -exec rm -fv {} \; >> /tmp/backup_deletion`date +%Y%m%d`.log 2>&1"

Conclusión

El -mtime el parámetro buscará archivos según el tiempo de modificación; -ctime búsquedas basadas en el tiempo de cambio. El tiempo de uso de -atime, -mtime y -ctime medido en días. El comando de búsqueda también admite opciones que miden en minutos. Estos son los siguientes:

  1. -amin (tiempo de acceso)
  2. -mmin (tiempo de modificación)
  3. -cmin (tiempo de cambio)

Por ejemplo, para imprimir todos los archivos que tienen un tiempo de acceso superior a siete minutos, use el siguiente comando:

# find . -type f -amin +7 -print

-opción más reciente

La opción -newer especifica un archivo de referencia con un tiempo de modificación que se usará para seleccionar archivos modificados más recientemente que el archivo de referencia.

Encuentre todos los archivos que se modificaron más recientemente que el archivo file.txt:

# find . -type f -newer file.txt -print


Linux
  1. Cómo encontrar y ordenar archivos según la fecha y hora de modificación en Linux

  2. Cómo eliminar archivos y directorios en Linux desde la línea de comandos

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

  4. Cómo encontrar y eliminar directorios y archivos vacíos en Linux

  5. ¿Cómo puedo eliminar recursivamente todos los archivos y directorios vacíos en Linux?

Cómo encontrar y eliminar enlaces simbólicos rotos en Linux

Cómo encontrar y eliminar directorios vacíos en Linux

Cómo encontrar archivos basados ​​en la marca de tiempo en Linux

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

Cómo eliminar archivos enumerados en otro archivo en Linux

Cómo encontrar la fecha y hora de instalación del sistema operativo Linux