Pregunta:
Por lo general, tengo que lidiar con carpetas (que contienen subcarpetas) que tienen un tamaño de aproximadamente 1 terabyte y, debido a las limitaciones de almacenamiento, necesito eliminar carpetas con frecuencia para mantenerme dentro de la capacidad asignada.
Normalmente tengo entre 30 y 40 carpetas, cada una de las cuales contiene hasta 13 subcarpetas.
¿Existe una forma RÁPIDA de obtener el tamaño de la carpeta?
He probado du -s .
de la carpeta principal pero … rápido no lo es.
agradecido por la ayuda!
Respuesta:
Dado que los tamaños de directorio suelen ser estables en un día, y es importante obtener rápidamente la información de tamaño en algún momento durante el día, el mejor método para usted sería un trabajo automatizado para recopilar la información con anticipación. Si su usuario tiene el acceso de lectura requerido, podría ser tan simple como poner esta línea dentro de su propio crontab ( crontab -e
) para que se ejecute todas las noches a las 2:30 am:
30 2 * * * ( date ; du --summarize path1 path2 ; date ) >> $HOME/du_out.txt
A medida que se sienta más seguro con los resultados, puede extenderlo a un script, quizás ejecutándose en una capacidad cron de todo el sistema para que otros administradores puedan mantenerlo y agregar información sobre las fechas de creación o acceso para eliminar automáticamente los archivos más antiguos y más grandes, si están disponibles. el espacio es demasiado bajo (presumiblemente ya tiene un mecanismo por lo que los directorios importantes que deberían mantenerse más tiempo se "promocionan" a otra ubicación).
Por supuesto, si ya tiene un sistema de compilación completo, como jenkins, olvídese de todo lo que dije sobre cron y cree esto como un trabajo allí.