25/6/09

Borrar por fecha

Mi compañero del curro me pasó hace tiempo este práctico comando, junto a la explicación de cada uno de los parámetros, para borrar ficheros con más de 30 días de antigüedad. ¡Muchas gracias!

Aquí tienes un comando para que te borre los ficheros modificados hace más 30 dias.

find . -maxdepth 2 -ctime +30 -exec rm -f {} + \;

maxdepth es para indicar hasta que profundidad puede llegar desde el directorio que estas

ctime es n*24 horas, n es el numero de días que indicas

exec ejecuta lo que quieras

{} find sustituye esto por el resultado que devuelve

+ es obligatorio como parametro del exec

\ fin de comando

; creo que es preciso tambien.

1 comentario:

Anónimo dijo...

¡Muy bueno! Un apunte: Con find, según la versión, también puedes utilizar el parámetro delete para borrar.

También se puede especificar una fecha concreta siguiendo este formato:

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

Visto aquí: https://www.sysadmit.com/2019/08/linux-borrar-ficheros-por-fecha.html