Linux – archivos más antiguos de N días con find

El comando find es una herramienta poderosa y versátil en sistemas Unix para buscar archivos y directorios basándose en una gran variedad de criterios. Dos de los usos más comunes son encontrar archivos con una antigüedad determinada y, en combinación con otros comandos, realizar acciones sobre esos archivos. Vamos aver como buscar archivos antiguos en linux con find.

Ejemplo para Buscar y Borrar Archivos Más Antiguos de 30 Días con find

Ejemplo para buscar archivos más antiguos de 30 días

find / -mtime +30

Desglosando el comando

  • find: Este es el comando principal que invoca la utilidad de búsqueda de archivos.
  • /: Este es el punto de partida de la búsqueda. En este caso, la / representa el directorio raíz, lo que significa que la búsqueda se realizará en todo el sistema de archivos. Es importante ser muy cuidadoso al usar / como punto de inicio, especialmente si planeas eliminar archivos, ya que podrías afectar archivos críticos del sistema. Generalmente, es más seguro especificar un directorio más específico donde esperas encontrar los archivos que deseas gestionar.
  • -mtime: Esta es una opción de find que filtra los archivos basándose en su tiempo de modificación. El tiempo de modificación es la última vez que el contenido del archivo fue alterado.
  • +30: Este argumento indica que queremos encontrar archivos cuyo tiempo de modificación sea mayor que 30 días. El signo + significa “mayor que”. Si usáramos -30, buscaríamos archivos modificados hace menos de 30 días, y si usáramos 30 (sin signo), buscaríamos archivos modificados exactamente hace 30 días.

Borrar archivos mediante find, más antiguos de 30 días

find /root/* -mtime +30 -exec rm {} \;

Desglosando este comando

  • find: El comando de búsqueda de archivos.
  • /root/*: Este es el punto de partida de la búsqueda, específicamente todos los archivos y directorios directamente dentro del directorio /root/. El uso del wildcard * aquí limita la búsqueda al primer nivel dentro de /root/. Si quisieras buscar recursivamente dentro de los subdirectorios de /root/, deberías usar simplemente /root/. ¡Ten mucho cuidado al usar /root/* si tu intención es una búsqueda recursiva!
  • -mtime +30: Como se explicó anteriormente, esto filtra los archivos modificados hace más de 30 días.
  • -exec rm {} \;: Esta es la parte que ejecuta el comando de eliminación (rm) sobre los archivos encontrados.
    • -exec: Esta opción de find permite ejecutar un comando externo.
    • rm: Este es el comando para eliminar archivos y directorios. ¡Ten extrema precaución al usar rm con find, ya que la eliminación es permanente!
    • {}: Estas llaves son un marcador de posición que find reemplaza con la ruta de cada archivo encontrado.
    • \;: El punto y coma al final indica el fin del comando a ejecutar con -exec. La barra invertida \ escapa el punto y coma para que sea interpretado por find y no por la shell.

Links

1 thoughts on “Linux – archivos más antiguos de N días con find

Leave a Reply

Your email address will not be published. Required fields are marked *