Script para eliminar archivos antiguos

0
65

Para realizar una depuración de archivos en un servidor que se desee eliminar éstos (archivos) que tienen mas de 3 días, se puede agregar un script en el crontab para que éstos se eliminen de manera automática.

Un ejemplo de un comando para eliminar archivos que tienen más de N días:
find /var/www/share/ -type f -mtime +N -exec rm {} \;

Si necesita eliminar directorios y todo lo que hay en ellos, entonces con este comando:
find /var/www/share/ -type d -mtime +N -exec rm -rfv {} \;

También puede escribir registros (y no olvide configurar logrotate):
find /var/www/share/ -type d -mtime +N -exec rm -rfv {} \; >> /dir/log.txt

En lugar de eliminar, puede verificar qué datos se eliminarán con el comando:
find /var/www/share/ -type d -mtime +N -print

Escribimos el comando en un archivo y lo colocamos en el directorio deseado, por ejemplo /home/user/share.sh

Ahora,  edite el crontab y añada éste archivo. El planificador de tareas (crontab) lo ejecutará todos los días a las 4am con el usuario “www-data” y así eliminará los archivos que estén almacenados durante más de N días:

0 4 * * * www-data /home/user/share.sh> / dev / null 2> & 1