先创建一个ups.sh的脚本
#!/bin/sh
# 和UPS关联的Server,UPS检测到断电后,发指令让这台Server关闭
judge_ip="10.1.20.254"
dir=$(ls /vmfs/volumes/ | grep ESXI)
count=0
ups_log="/vmfs/volumes/${dir}/ups/ups.log"
while :;do
# 每2分钟ping2次判定IP
sleep 120
ping -c 2 ${judge_ip}> /dev/null
if [ $? -eq 0 ]; then
echo "$(date) AC Power OK !" >> ${ups_log}
else
count=$(expr ${count} + 1);
fi
# 连续4分钟ping不通判定IP时,可能断电,再检查1次
if [ ${count} -ge 2 ]; then
echo "$(date) AC Power maybe off,checking again after 1 minutes !" >> ${ups_log}
sleep 60
ping -c 2 ${judge_ip}> /dev/null
if [ $? -eq 0 ]; then
# 重置count变量,否则会一直检查,引起误触发。
count=0