Eliminar archivos con más de X días en Linux

El comando find en Linux tiene muchas opciones y argumentos que se pueden utilizar, y entre ellos está poder ejecutar otro comando para cada archivo. Partiendo de esta base, es posible encontrar que archivos tienen más de un cierto número de días, y por ejemplo, utilizar el comando rm para eliminarlos.

La sintaxis para encontrar y eliminar, por ejemplo, archivos que tengan más de 5 días:

find /ruta/de/los/archivos* -mtime +5 -type f -exec rm {} \;

Explicación de código:

  • El primer argumento “/ruta/de/los/archivos*” es la ruta de acceso a los archivos. Nosotros recomendamos usar la ruta absoluta, y antes de utilizar el comando probarlo sin el comando rm para asegurarte de que estás obteniendo los resultados deseados.
  • El segundo argumento “-mtime“, se utiliza para especificar el número de días que debe tener el archivo para que se ejecute la segunda parte. En este caso, con el “+5” estarías indicando que quieres encontrar archivos que tengan más de 5 días.
  • El tercer argumento “-type“, se utiliza para especificar lo que estamos buscando, en este caso “f” indica que buscamos solo archivos (Files en inglés).
  • El cuarto argumento “-exec“, te permite lanzar un comando sobre los resultados, como por ejemplo “rm“.
  • Por último, para cerrar el comando se especifica “{} \;“.

To write a comment on this article, fill out the form below. Fields marked with an asterisk (*) are required.