Buscar archivos de 6 meses de antiguedad

Aquí un tip rapido sobre como buscar, enlistar y eliminar archivos de algunos meses de antiguedad en nuestro sistema, esto es util para los casos como el mio, que necesito depurar una “papelera de reciclaje” en un directorio compartido mediante Samba.

Lo que necesito hacer es:
“Encontrar archivos eliminados hace 6 meses, crear un listado de cuales se eliminaran y por ultimo, eliminarlos”

Para esto, crearemos un script que se ejecutara el primer dia de cada mes.

Primer paso:

Crearemos un directorio en /var/log para almacenar nuestros logs, le llamaremos “cleaner”

Ahora creamos un fichero en cualquier directorio, por ejemplo /root:

Dentro de este pondremos algo asi:

Analicemos un poco estas lineas:
En la primera, se le dice a l comando find (buscar), que busque en el directorio que nosotros definamos, los archivos que tengan mas de 180 dias de antiguedad (-ctime +180) esto lo podemos ajustar a nuestras necesidades. Despues le ordenamos que con los archivos que encontro, nos cree un arvhivo de log con la fecha del dia en que se ejecuto el comando.

La segunda linea, hace practicamente lo mismo, solo que en lugar de ejecutar el llenado del log, elimina los archivos. Si solo queremos eliminar y no guardar un registro de los archivos eliminados, bastara con poner la segunda linea del script.

Segundo paso:

Es practico utilizar crontab para automatizar nuestras tareas, por lo que crearemos una entrada que obligara a este script a corre cada mes, para esto ejecutamos en la terminal

Lo que nos mostrara un editor de texto con los corns que ya existen, sin importar esto, escribimos en la ultima linea:

Esto, solo esta diciendo que, los primeros de cada mes a las 6hrs se ejecutara nuestro script.

Eso es todo, si tienen algun tip para mejorarlo, adelante, sus comentarios son bienvenidos.