que había utilizado previamente un simple comando find para eliminar el alquitrán no los archivos accedidos en los últimos X días (en este ejemplo, 3 días):escritura del golpe para limitar el tamaño del directorio y borrar los archivos que se accede última
find /PATH/TO/FILES -type f -name "*.tar" -atime +3 -exec rm {} \;
Ahora necesito mejorar este script eliminando en orden de fecha de acceso y mis habilidades de escritura bash están un poco oxidadas. Esto es lo que se tiene que hacer:
- comprobación del tamaño de un directorio/ruta/a/ARCHIVOS
- si el tamaño en 1) es mayor que el tamaño X, obtener una lista de los archivos por fecha de acceso
- borrar archivos en orden hasta que el tamaño es menor que X
la ventaja aquí es para la memoria caché y de respaldo directorios, sólo borrará lo que necesito para mantenerla dentro de un límite, mientras que el método simplificado podría ir límite de tamaño si un día es particularmente grande. Supongo que necesito usar stat y bash para loop.
Creo que este script es un buen comienzo, pero en realidad no responde la pregunta. Usted preguntó cómo eliminar los archivos en orden para que el tamaño del directorio caiga por debajo del umbral. Su respuesta aquí no parece eliminar realmente nada, simplemente clasifica los archivos y hace un bucle a través de ellos. Parece que te estás perdiendo una "rm" aquí en alguna parte. –