Linux 检测服务器是否连接着网络
Linux检测服务器是否连接着网络
摘要:每隔5分钟检测一次服务器是否连接着网络,如果三次检测都没有网络?则自动关机!主要使用场景:由于自己有一台服务器放在偏远的老家,有可能会遇到停电导致断网的问题,并且停电后UPS使用时间也有限制,因此设计此脚本为了解决停电的时候服务器突然断电引起的各种问题,当停电后网络也就不通了,此时需要自动关闭服务器.当然,来电后需要手动启动服务器!!!
#!/bin/bash
#检测服务器是否连接着网络,如果网络不通则3次后关机
#crontab-e
#*/5****./check.sh
echo"Startingtestnetworkwasclear..."
iftest-e./checkInfo
then
echo"CheckInfoFileExist..."
else
cat/dev/null>./checkInfo
fi
last_res=`head-1./checkInfo`
checkInternet(){
ping_res=1
forurlin"8.8.8.8""61.139.2.69""114.114.114.114""168.95.1.1""223.5.5.5""180.76.76.76"
do
echo"PING${url}"
ping=`ping-c3${url}|awk'NR==7{print$4}'`
if[${ping}-eq0]
then
ping_res=1
else
ping_res=2
fi
if[${ping_res}-eq2]
then
break
fi
done
return${ping_res}
}
checkInternet
result="$?"
if[${result}-eq1]
then
if["${last_res}"="1"]
then
echo"2">./checkInfo
elif["${last_res}"="2"]
then
cat/dev/null>./checkInfo
init0
else
echo"1">./checkInfo
fi
else
cat/dev/null>./checkInfo
fi
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!