miércoles, 29 de abril de 2020

Linux: listar directorios por tamaño decreciente



Cómo ver una lista de directorios dentro de un directorio ordenados por uso de disco, presentados de mayor espacio usado a menor espacio usado, con un nivel de profundidad.



Si el espacio en disco de una máquina ha disminuido drásticamente en un corto período de tiempo, lo primero que debemos hacer es encontrar dónde se está escribiendo la información, es decir, en qué carpeta. Para ello, podemos usar este one-liner:

du -h --max-depth=1 | sort -hr

Vamos a descomponerlo:

• du utilidad que devuelve el espacio usado por cada uno de los directorios de una ruta.
- opción -h mostrar el resultado en formato "apto para humanos" (GB, MB, KB, etc.)
- opción--max-depth=1 mostrar subdirectorios a un nivel de profundidad.

• sort ordenar el resultado a mostrar por pantalla.
- opción -h mostrar el resultado en formato "apto para humanos" (GB, MB, KB, etc.)
- opción -r ordenar de forma inversa (de mayor a menor).

Un ejemplo de este comando lo podemos ver ejecutándolo dentro de la carpeta /var de un sistema:

root@host:/var # du -h --max-depth=1 | sort -hr 303M . 123M ./log 120M ./adm 44M ./cache 15M ./lib 2.6M ./spool 8.0K ./tmp 4.0K ./yp 4.0K ./opt 4.0K ./crash

El resultado del comando son los subdirectorios a un nivel de profundidad dentro de /var, ordenados por uso decreciente de espacio en disco.

Con esta información, podemos ir entrando directorio a directorio hasta encontrar la carpeta final donde más espacio se está usando, ver a qué aplicación pertenece y reconfigurar la aplicación de turno o aumentar el espacio en disco total del servidor.
0

0 comentarios:

Publicar un comentario