Unix:C-shell:Hp-UX 中的磁盘空间检查

Unix:C-shell:Hp-UX 中的磁盘空间检查

我有 10 个使用 hp-ux 的设备,我想检查每个设备中的磁盘空间。我的要求是如果空间超过90%,设备和空间的信息将保存到日志中。这是我设置为变量 ipadd 的设备和 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 输出只显示一台设备,所以只迭代一次?为什么 $device[$j] 没有出现在 .file 输出中?或者 awk 有问题吗?

谢谢你的建议。

相关内容