martes, 18 de octubre de 2011

Espacio de uso de directorios

Más de una vez un equipo o servidor se ha quedado con poco espacio libre en una partición, o incluso se ha agotado. Ahí comienza una labor de búsqueda de aquellos ficheros que han crecido inesperadamente o bien de los directorios con mayor peso para revisarlos y ver si se puede borrar algo.
Si bien seguro existen aplicaciones que revisan el sistema de ficheros en busca de este tipo de información, no me gusta instalar software extra en servidores si con las herramientas ya existentes se puede obtener el mismo resultado.
El siguiente comando nos dirá la ocupación de cada uno de los subdirectorios que tenemos en nuestra ruta actual:

for i in $(find . -maxdepth 1 -type d | tr -s "\n" " "); do  echo `du $i -hs`; done

873M . 60K ./include 214M ./lib 4,8M ./sbin 35M ./bin 393M ./share 4,0K ./games 136M ./local 92M ./src

El resultado del comando ejecutado en /usr nos dice que este directorio ocupa, contando con sus subdirectorios y ficheros), 873 MB. Que el subdirectorio local (/usr/local) ocupa 136 MB, etc. Si vemos un subdirectorio con un uso de disco exagerado podremos acceder a él y volver a ejecutar el comando, para ir descubriendo dónde están esos ficheros de gran tamaño.