Cómo eliminar archivos de más de X horas
Estoy escribiendo un script bash que necesita eliminar archivos antiguos.
Actualmente se implementa usando:
find $LOCATION -name $REQUIRED_FILES -type f -mtime +1 -delete
Esto eliminará los archivos que tengan más de 1 día.
Sin embargo, ¿qué pasa si necesito una resolución más precisa de ese día, digamos unas 6 horas? ¿Existe una forma agradable y limpia de hacerlo, como usar find y -mtime?
Aceptado
¿Tienes find
la -mmin
opción? Eso puede permitirle probar la cantidad de minutos desde la última modificación:
find $LOCATION -name $REQUIRED_FILES -type f -mmin +360 -delete
O tal vez considere usar tmpwatch
para hacer el mismo trabajo. phjr también lo recomendó tmpreaper
en los comentarios.
Este es el enfoque que funcionó para mí (y no veo que se use arriba)
$ find /path/to/the/folder -name '*.*' -mmin +59 -delete > /dev/null
eliminando todos los archivos de más de 59 minutos dejando las carpetas intactas.