Eliminar archivos en Linux con una antigüedad superior a X días

En esta entrada voy a enseñaros un pequeño comando el cual puede seros muy útil si tenéis el típico directorio de logs u otro tipo de información que no para de crecer y sino estamos atentos a ir eliminando esa información antigua es posible que lleguemos a tener problemas de espacio en nuestros equipos. Veamos como podemos automatizar esta tarea y hacernos la vida más fácil :).

Comando para eliminar ficheros con una antigüedad superior a X días

El comando que debéis utilizar es el siguiente:

find /ruta/donde/estan/losFicheros/*.* -mtime +7 -exec rm {} \;

Os pongo un ejemplo para que lo entendáis mejor.

Vamos a eliminar los ficheros con extensión .log que se encuentran dentro de la ruta /var/logs/ y que tengan una antigüedad de 7 días.

find /var/logs/*.log -mtime +7 -exec rm {} \;

Automatizar la tarea de eliminación

Vamos un paso más allá y vamos a automatizar esta tarea para que se ejecute por ejemplo todos los días a las 2:00 de la mañana.

Para ello lo añadimos al cron de Linux editando el fichero /etc/crontab con nuestro editor de textos favorito, en mi caso nano.

nano /etc/crontab

Agregamos una nueva línea con el siguiente comando:

0 2 * * * root find /var/logs/*.log -mtime +7 -exec rm {} \;

Guardamos los cambios y con esto todos los días de forma automatizada de eliminarán todos esos ficheros antiguos que podamos tener.

Espero os haya sido de utilidad.

Entradas relacionadas

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.