Algo bastante común en la administración de sistemas operativos y bases de datos es la mantencion de archivos que ya no se usan como por ejemplo log del SO o archivos traces de BD. No hay problema cuando son pocos, digamos unos 500 mas o menos, aunque uno quede medio ciego con tantos archivos… En plataformas que generan “demasiados” archivos por hora o por dia, es una verdadera pesadilla hacerle mantencion, ya sea compresion o eliminación de los archivos y si es por fecha peor aún.
Para resolver este problema desde Linux es bastante practico usar una concatenacion de comandos para poder hacer esta tarea mas facil y practica.-
Para buscar archivos con fecha de modificacion de 3 días hacia atrás, en el directorio en donde uno se encuentra…
find . -name *.trc -mtime +3
Para buscar y eliminar archivos con fecha de modificacion de 3 días hacia atrás, en el directorio en donde uno se encuentra…
find . -name *.trc -mtime +3 -exec rm {} ;
Ahora bien si queremos listar esos archivos pero con una ruta relativa …
find /backup/test/[a-z]* -name *.sql -mtime +1
Lo mismo si queremos borrar esos archivos pero con una ruta relativa …
find /backup/test/[a-z]* -name *.sql -mtime +1 -exec rm {} ;
Podemos usar la funcion otras funciones del comando “find”:
-mmin n
Files data was last modified n minutes ago.
-mtime n
Files data was last modified n*24 hours ago.