Linux中如何检测服务器是否连接着网络
这篇文章主要介绍了Linux中如何检测服务器是否连接着网络,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联公司是一家专注于成都网站建设、做网站与策划设计,安州网站建设哪家好?创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:安州等地区。安州做网站价格咨询:18980820575
Linux 检测服务器是否连接着网络
摘要: 每隔5分钟检测一次服务器是否连接着网络,如果三次检测都没有网络?则自动关机! 主要使用场景: 由于自己有一台服务器放在偏远的老家,有可能会遇到停电导致断网的问题,并且停电后UPS使用时间也有限制, 因此设计此脚本为了解决停电的时候服务器突然断电引起的各种问题,当停电后网络也就不通了,此时需要自动关闭服务器. 当然,来电后需要手动启动服务器!!!
#!/bin/bash # 检测服务器是否连接着网络,如果网络不通 则 3次后 关机 # crontab -e # */5 * * * * ./check.sh echo "Starting test network was clear..." if test -e ./checkInfo then echo "CheckInfo File Exist..." else cat /dev/null > ./checkInfo fi last_res=`head -1 ./checkInfo` checkInternet(){ ping_res=1 for url in "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 -c 3 ${url}|awk 'NR==7 {print $4}'` if [ ${ping} -eq 0 ] then ping_res=1 else ping_res=2 fi if [ ${ping_res} -eq 2 ] then break fi done return ${ping_res} } checkInternet result="$?" if [ ${result} -eq 1 ] then if [ "${last_res}" = "1" ] then echo "2" > ./checkInfo elif [ "${last_res}" = "2" ] then cat /dev/null > ./checkInfo init 0 else echo "1" > ./checkInfo fi else cat /dev/null > ./checkInfo fi
感谢你能够认真阅读完这篇文章,希望小编分享的“Linux中如何检测服务器是否连接着网络”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
当前标题:Linux中如何检测服务器是否连接着网络
文章出自:http://hbruida.cn/article/ipijpe.html