У меня есть 10 устройств, которые используют hp-ux, и я хочу проверить дисковое пространство на каждом устройстве. Мое требование - если пространство более 90%, информация о пространстве и пространстве устройства будет сохранена в журнале. это список устройств и IP-адрес, который я установил в качестве переменной ipadd:HP-Unix: C-shell: проверка дискового пространства
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..
Это мой сценарий до сих пор:
#!/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
Выход после BDF:
/dev/vg00/lvol2 15300207 10924582 28566314 79%/
/dev/vg00/lvol4 42529 23786 25510 55% /stand
выход на терминале после запуска сценария:
100.45.32.43
100.45.32.44
Выход на .file:
WARNING: $device[$j]:/ has reached 79%. Perform HouseKeeping IMMEDIATELY...
Мой вопрос, это моя перекручивание есть что-то неправильно причина только перебирает только один раз, потому что мой .file выход только показать только одно устройство? И почему $ device [$ j] не выходит в .file output? или awk есть проблема?
Благодарим за совет.
Вы можете попробовать здесь вместо: http://serverfault.com/ –
Вы делаете 11 'rsh's на хост - не очень эффективно! Я бы пересмотрел решение. '$ Device [$ j]' печатается как есть потому, что он находится внутри 'awk '...'' (одинарная цитата - без расширения). – Kenney