Buscar

Linux: Borrar ficheros por fecha

Desde Linux es posible buscar y borrar fichero según la fecha indicada.

Como ya sabemos, con el comando find, podemos buscar ficheros según un criterio establecido.

A continuación disponéis de algunos ejemplos de uso del comando find sobre Linux:




Como podéis ver, con el comando find es posible realizar infinidad de tareas administrativas.

Así que distintas formas de borrar ficheros por fecha, serían algunos ejemplos mas de uso del comando find.

Linux: Borrar ficheros por fecha: Parámetro -exec rm


Ejemplo:

find /SYSADMIT/* -mtime +15 -type f -exec rm -f {} \;

Busca a partir de la ruta: /SYSADMIT/* todos los ficheros (parámetro -type f) que no han sido modificados hace mas de 15 días (-mtime +15) y ejecuta el comando rm (parámetro -exec rm -f {} \).

Como podéis ver en el ejemplo, el comando rm, lo acompaño del parámetro -f, para evitar que pida confirmación al eliminar cada fichero.

Linux: Borrar ficheros por fecha: Ver ficheros que serán eliminados


Para ver los ficheros que serian borrados antes de borrarlos, bastaría con ejecutar:

find /SYSADMIT/* -mtime +15 -type f -print

Busca a partir de la ruta: /SYSADMIT/* todos los ficheros (parámetro -type f) que no han sido modificados hace mas de 15 días (-mtime +15) y los muestra por pantalla (parámetro -print).

Sería buena idea ejecutar primero el comando que lista los ficheros antes de ejecutar el comando que los elimina.

Linux: Borrar ficheros por fecha: Parámetro -delete


Finalmente comentar que existen distribuciones de Linux que integran el comando find con el parámetro -delete.

El comando find con el parámetro -delete, permite eliminar los ficheros sin necesidad de ejecutar el parámetro:  -exec rm {} \;

Ejemplo:

find /SYSADMIT/* -mtime +15 -type f -delete

Busca a partir de la ruta: /SYSADMIT/* todos los ficheros (parámetro -type f) que no han sido modificados hace mas de 15 días (-mtime +15) y los borra (parámetro -delete).

Si ejecutamos el comando find con el parámetro --help, podremos ver si permite el parámetro -delete:

Linux: Borrar ficheros por fecha

Linux: Borrar ficheros por fecha: Parámetro -newermt


Para finalizar los ejemplos, aquí tenemos otro donde podemos borrar ficheros mas nuevos que una fecha especificada.

Para ello, utilizaremos el parámetro: -newermt

Ejemplo:

find /SYSADMIT/* -type f -not -newermt "AAAA:MM:DD HH:MI:SS" -delete

AAAA = Año
MM = Mes
DD = Día

HH = Hora
MI = Minuto
SS = Segundo

Se realizará la búsqueda a partir del directorio: /SYSADMIT/


No hay comentarios:

Publicar un comentario