Eu tenho 10 dispositivos que usam hp-ux e quero verificar o espaço em disco em cada dispositivo. minha exigência é que se o espaço for maior que 90%, as informações do dispositivo e do espaço serão salvas em um log. esta é a lista de dispositivos e endereços IP que eu configurei como variável ipadd:
lo1 100.45.32.43
lot2 100.45.32.44
lot3 100.45.32.44
lot4 100.45.32.45
lot5 100.45.32.46
and so on..
Este é meu script até agora:
#!/bin/csh -f
set ipaddress = ('awk '{print $2}' "ipadd"')
set device = ('awk '{print $1}' "ipadd"')
@ j = 1
while ($j <= $#ipaddress)
echo $ipaddress
set i = 90 # Threshold set at 90%
set max = 100
while ($i <= $max)
rsh $ipaddress[$j] bdf | grep /dev/vg00 | grep $i% \
|awk '{ file=substr($6,index($6,"/") + 1,length($6)); print "WARNING: $device[$j]:/" file " has reached " $5 ". Perform HouseKeeping IMMEDIATELY..." >> "/scripts/space." file ".file"}'
@ i++
end
@ j++
end
A saída após bdf:
/dev/vg00/lvol2 15300207 10924582 28566314 79% /
/dev/vg00/lvol4 42529 23786 25510 55% /stand
A saída no terminal depois de executar o script:
100.45.32.43
100.45.32.44
A saída em .file:
WARNING: $device[$j]:/ has reached 79%. Perform HouseKeeping IMMEDIATELY...
A minha pergunta é: será que o meu loop tem algo errado porque apenas repete apenas uma vez porque a saída .file mostra apenas um dispositivo? E por que o $ device [$ j] não sai na saída .file? ou awk tem problema?
Obrigado pelo conselho.