Tip: Borrando archivos antiguos en Linux con find
Marzo 4, 2007 · Imprime esta entrada
Hace poco tuve que borrar los archivos que tuvieran mas de 40 días de antiguedad en un servidor linux. Esto se puede hacer fácilmente con el comando find, en una sola línea como nos gusta a algunos, 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 > y < 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/jcab/tutoriales/ -maxdepth 1 -mtime +100 -exec rm -f {} \;
Si quiero medir el tiempo en minutos en lugar de días utilizo -mmin en lugar de -mtime:
/usr/bin/find /tmp/ -maxdepth 2 -mmin +45 -exec rm -f {} \;





Muchas gracias por los tips me hacian falta la verdad, dema gracias sigan asi
buen aporte,
puedes sustituir ‘-exec rm -f {} \;’ por ‘-delete’ y seria algo mas elegante…
saludos
Se eliminan también los directorios?
Si no fuese así podrías añadirlo.
Gracias.
Si quieres que se eliminen tambien los directorios, basta con añadir-le el parámetro de recursividad ‘-r”.
El exec quedaria: -exec rm -rf {} \;