Unix: C-shell: HP-UX でディスク容量を確認する

Unix: C-shell: HP-UX でディスク容量を確認する

hp-uxを使用する10個のデバイスがありますが、各デバイスのディスク容量を確認したいと思います。私の要件は、スペースが90%を超えると、デバイスとスペースの情報がログに保存されることです。以下は、ipad変数で設定したデバイスとIPアドレスのリストです。

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出力が1つのデバイスしか表示しないので、一度だけ繰り返すループに問題がありますか? .file出力に$ device [$ j]が表示されないのはなぜですか?それともawkに問題があるのでしょうか?

アドバイスありがとうございます。

ベストアンサー1

おすすめ記事