unix c-shell: verificação de disco

2

Sou totalmente novo em scripts de shell. Eu tenho a tarefa de simplificar um script de shell c antigo. Basicamente, o script tem 10 dispositivos que usam hp-ux e eu 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 é o script:

#!/bin/csh -f
set ipaddress = ('awk '{print $2}' "ipadd"')
set device = ('awk '{print $1}' "ipadd"')
@ j = 1
set i = 90
while($j <= $#ipaddress)
set space = ('rsh $ipaddress[$j]  bdf | grep /dev/vg00|awk '{print $5}' |   cut -c 1-2')
echo $space[$j]

set file =('rsh $ipaddress[$j]  bdf | grep /dev/vg00 |awk '{print $6}'')
echo $file

if ( {$space[$j]} >= {$i} ) then
echo "hi"
echo "$device[$j]/$file[$j] has reached $space[$j] . Perform HouseKeeping IMMEDIATELY..." >> /script/dev.file

endif

@ j++
end

a saída para bdf:

/dev/vg00/lvol2    15300207 10924582 28566314   79% /
/dev/vg00/lvol4      42529   23786   25510   55% /stand

Saída após exec no arquivo:

lot1// has reached 79 . Perform HouseKeeping IMMEDIATELY...
lot2//stand has reached 56 . Perform HouseKeeping IMMEDIATELY...

Minha pergunta é:

por que a saída é somente para / dev / vg00 / lvol2 para cada dispositivo e não para / dev / vg00 / lvol4?

obrigado.

    
por exid 16.12.2015 / 15:26

0 respostas

Tags