欢迎来到代码驿站!

Linux

当前位置:首页 > 服务器 > Linux

Linux 检测服务器是否连接着网络

时间:2021-03-17 09:39:00|栏目:Linux|点击:

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

下一篇:Linux家用版1.0使用体会

本文标题:Linux 检测服务器是否连接着网络

本文地址:http://www.codeinn.net/misctech/82141.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有