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
- Montaje automático de recursos compartidos de Samba/CIF a través de fstab en Linux
- Redimensionar particiones Home y Root en CentOS
- Como ampliar el espacio en disco de una máquina virtual Linux sobre VMware
- Configurar Firewall de Ubuntu mediante UFW
- Como mostrar los directorios en forma de árbol en Linux
- Como instalar y configurar un servidor NTP y un cliente en CentOS 8
- Linux: Como copiar o mover carpetas y ficheros por consola
- Linux: Como crear y eliminar usuarios con privilegios de root
Me dedico a la Administración de Sistemas y he creado este blog para compartir mis conocimientos con toda la comunidad y así aportar mi granito de arena y ayudar a todo el que lo necesite.