Voy a indicar la forma de obtener el porcentaje de uso de una partición, por ejemplo /home de nuestra máquina. Esto nos será de mucha utilidad cuando nos propongamos monitorizar las particiones un servidor:
df | grep /home | tr -s " " " " | cut -d " " -f 5 | tr -d "%"
Aunque este tocho pueda parecer largo y poco comprensible, en realidad es muy sencillo y algunos de estos comandos los usaréis muchísimo en cientos de scripts.
Vayamos por partes:
S.ficheros Bloques de 1K Usado Dispon Uso% Montado en
/dev/sda1 7692876 3376756 3925344 47% /
tmpfs 509272 0 509272 0% /lib/init/rw
varrun 509272 116 509156 1% /var/run
varlock 509272 0 509272 0% /var/lock
udev 509272 144 509128 1% /dev
tmpfs 509272 144 509128 1% /dev/shm
/dev/sda3 144173428 21509424 115340376 16% /home
Pero a nosotros solo nos interesa el valor de /home.
2. grep /home: Se queda con las líneas que contengan esa palabra. En nuestro caso es únicamente la que nos interesa.
3. tr -s " " " ": Si os fijáis, df nos devuelve varias columnas separadas entre sí por espacios. Podríamos pensar que el porcentaje de uso de /home siempre aparecerá en el caracter 54 y/o 55, pero si nos vamos a otro PC o servidor esto puede cambiar. Así, nos interesará que la separación entre columna y columna sea tan solo de un espacio, para tenerlo todo controlado. Este comando sustituye toda pareja de espacios consecutivos que vea por uno solo. Por tanto, termina de ejecutarse cuando entre columna y columna nos queda solo un espacio.
En este punto, tras ejecutar df | grep /home | tr -s " " " " tendríamos:
/dev/sda3 144173428 21509432 115340368 16% /home
4. cut -d " " -f 5: Ahora lo que hacemos con este comando es decir: queremos el campo (field) 5 (que es donde está el valor de ocupación) suponiendo el delimitador entre campo y campo " ". Con todos estos comandos enlazados, nos queda:
16%
5. tr -d "%": Por último, si no nos apetece que aparezca el símbolo de porcentaje, podemos eliminarlo con este comando (-d de delete):
16
Como nota decir que cada uno de estos comandos permite realizar muchas otras acciones, pudiéndose modificar con los parámetros que aceptan. Se recomienda leer las páginas del manual (man) para conocerlas en profundidad.
Recordad: esta sencilla técnica de obtener el valor de una columna la usaréis a menudo para muchos otros fines.
No hay comentarios:
Publicar un comentario