¿Conoces el programa ncdu?: http://dev.yorhel.nl/ncdu

Si no lo conoces, ncdu es un analizador de uso de disco con interfaz ncurses, de forma que te muestra de forma gráfica (texto) el uso que se está haciendo del disco sobre el directorio actual. Muy muy útil para ver dónde se está perdiendo tanto espacio y dónde están esos archivos gordotes que se comen tu disco. Hay otras utilidades parecidas pero esta es la única que he encontrado que no necesite una interfaz gráfica, porque muchas veces necesitaba una utilidad así para correr sobre ssh en un server que no tenía X.

En fin, que ncdu está genial, pero echo un falta una cosa, buscar los archivos que realmente te interesan, como lo hace «GNU find». Con «find», puedes buscar por ejemplo archivos que cumplan una determinada condición: fecha de creación, tamaño, fecha de acceso… Es decir, a ncdu le falta procesar los ‘tests’ que find es capaz de interpretar. Si sumamos los dos programas, nos resultaría por ejemplo muy fácil ver los archivos antiguos de más de un año y con un determinado tamaño que tenemos por ahí desperdigados por nuestro filesystem, a través de una interfaz ncurses muy cómoda.

Pues bien, ncdu puede exportar el árbol que estás viendo en pantalla a un archivo en formato JSON. Así mismo, evidentemente, puedes importarlos. Así que se me ocurrió que podría hacer algún script que partiendo de una lista de archivos generadas con «find» (con los tests que nos interese) generara el archivo json correspondiente para importarlo en ncdu. Y esto es lo que hace el script; ejecutar el «find» con los parámetros que quieras para ver esa lista de archivos con ncdu.

La forma de usarlo es la siguiente:

Así de simple. El ejemplo de los archivos antiguos que decía antes, quedaría así:

Hemos añadido la condición que los archivos sean mayoes de 1GB. Esto nos genera el json correspondiente, que podemos salvarlo simplemete redirigiendo la salida estándar (los mensajes de info y warning van a la salida estándar de errores).

Espero os sea útil

http://www.quintoblog.com/downloads/njgen_v1.3.tar.gz
http://www.quintoblog.com/downloads/ncdu-1.10.tar.gz
https://github.com/mgutierrezp/njgen

Ncdu JSON generator

Un pensamiento en “Ncdu JSON generator

Deja un comentario

Tu dirección de correo electrónico no será publicada.