martes, 1 de octubre de 2013

Consejo rápido: Oracle Linux: Cuánto pesa mis subdirectorios ?

Cuántas veces hemos querido listar por importancia de tamaño, los subdirectorios presentes en un directorio en particular.

Esto es una tarea básica, del día a día. Para quienes empiezan en esta tarea aquí les dejo un ejemplo simple de como hacerlo.

Partamos de la primicia de que deseamos conocer, el tamaño total de todos los subdirectorios presentes, dentro del directorio base, en donde se encuentra instalado el motor de la base de datos Oracle.

Primero que todo, podemos utilizar el comando "env" y "grep" para desplegar el valor de las variables asociadas en el ambiente del usuario Oracle, que generalmente se configuran a la hora de creación del usuario.

[oracle@LAB1 product]$ env|grep ORACLE
ORACLE_SID=lab1
ORACLE_BASE=/opt/oracle/product
ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1

Vamos a utilizar el valor de la variable $ORACLE_BASE para navegar hasta el directorio base.

[oracle@LAB1 product]$ cd $ORACLE_BASE

Ahora con el comando "ls" podemos mostrar el contenido del directorio a donde nos hemos trasladado.
[oracle@LAB1 product]$ ls -la
total 28
drwxr-xr-x 7 oracle oinstall 4096 Jun 23 15:48 .
drwxr-xr-x 9 oracle oinstall 4096 Jun  1 14:40 ..
drwxr-xr-x 3 oracle oinstall 4096 Jun  1 14:27 11.2.0
drwxr-x--- 3 oracle oinstall 4096 Jun 23 15:48 admin
drwxr-x--- 5 oracle oinstall 4096 Jun 23 15:55 cfgtoollogs
drwxrwxr-x 3 oracle oinstall 4096 Jun 23 15:48 diag
drwxr-x--- 4 oracle oinstall 4096 Jun 23 15:51 fast_recovery_area

Ahora sí, determinemos cuanto especio ocupa estos directorios en orden descendente. Para ello, vamos a utilizar el comando "du" y "sort".
[oracle@LAB1 product]$ du -s *|sort -nr
3941156 11.2.0
9552    fast_recovery_area
5380    diag
596     cfgtoollogs
564     admin

Así tenemos la respuesta a nuestra pregunta. El sub-directorio "11.2.0" tiene 3.8 GB de espacio utilizado.

Podríamos variar un poco los atributos del comando "du" y agregar la opción "c" para obtener el tamaño total de todos los sub-directorios listados.

[oracle@LAB1 product]$ du -sc *|sort -nr
3957248 total
3941156 11.2.0
9552    fast_recovery_area
5380    diag
596     cfgtoollogs
564     admin

[oracle@LAB1 product]$

Igual, si tenemos duda sobre el monto que representa esos números a la par de cada directorio, podemos agregar un atributo más, la letra "h", que da como resultado una salida más comprensible para el ser humano, como lo dice el diccionario de ayuda, de comando del sistema operativo linux. Sin embargo, nos afectará el orden de despliegue de menor a mayor.

[oracle@LAB1 product]$ du -sch *|sort -nr
596K    cfgtoollogs
564K    admin
9.4M    fast_recovery_area
5.3M    diag
3.8G    total
3.8G    11.2.0

[oracle@LAB1 product]$

Espero que les sirva de referencia, para su día a día.

Todos los Sábados a las 8:00PM

Optimismo para una vida Mejor

Optimismo para una vida Mejor
Noticias buenas que comentar