jueves, 19 de noviembre de 2009

Borrando archivos antiguos en Linux con find

Hace poco necesite eliminar unas grabaciones para un cliente que tenian x cantidad de meses de antiguedad, como no me acordaba exactamente como, visite a nuestro amigo google para que me recordará xD, el link de donde saque la info:

Esto se puede hacer fácilmente con el comando find, sólo hay que ejecutar lo siguiente en la consola:


/usr/bin/find < DIRECTORIO > -mtime +< NUMERO_DE_DIAS > -exec rm -f {} \;


Sólo tenemos que sustituir los parámetros < DIRECTORIO >< NUMERO_DE_DIAS >. Adicionalmente podríamos agregar la opción -maxdepth < nivel > en caso de que el directorio tuviera subdirectorios, con < nivel > le indicamos cuanto queremos que profundice en ellos, por ejemplo si no queremos entrar en subdirectorios < nivel > sería 1.


Algunos ejemplos de su uso:


/usr/bin/find /home/user/tutoriales/ -maxdepth 1 -mtime +100 -exec rm -f {} \;


Si quisieramos medir el tiempo en minutos en lugar de días utilizaríamos -mmin en lugar de -mtime:


/usr/bin/find /tmp/ -maxdepth 2 -mmin +45 -exec rm -f {} \;

No hay comentarios.:

Publicar un comentario