Isso deve funcionar:
loadval=$(sar -u 1 10 | awk '{print 100-}')
Estou tentando criar um script simples que leva uma carga média porcentagem da CPU a cada minuto. Estou fazendo isso usando o comando sar
do pacote sysstat
.
Aqui está o meu código atual:
#!/bin/bash
sar -u 1 10 | grep Average > /custom/tmp/idlefile
idleval='awk '{print }' /custom/tmp/idlefile'
rm /custom/tmp/idlefile
rm -rf /custom/idlepercentage/*
touch /custom/idlepercentage/$idleval
exit 0
O problema é que a única coisa que pode fazer agora é produzir uma porcentagem ociosa. Eu gostaria que simplesmente emitisse uma porcentagem de carga.
Eu tentei fazer isso por:
loadval=100.00-'echo $idleval'
mas grita comigo e não faz o que eu peço para fazer.
Parece que não vai fazer a aritmética básica para fazer 100% - porcentagem ociosa para dar porcentagem de carga.
Isso deve funcionar:
loadval=$(sar -u 1 10 | awk '{print 100-}')
Tags command-line bash scripts cpu-load cpu