发布者认证信息(营业执照和身份证)未完善,请登录后完善信息登录
Linux检测服务器是否断网-亿华网
首页 » 资讯 » 编程开发 » LINUX > Linux检测服务器是否断网

Linux检测服务器是否断网

  发布时间 : 2017-11-15 21:28:06 60
内容提要
每隔5分钟检测一次服务器是否连接着网络,如果三次检测都没有网络?则自动关机! 主要使用场景: 由于自己有一台服务器放在偏远的老

每隔5分钟检测一次服务器是否连接着网络,如果三次检测都没有网络?则自动关机! 主要使用场景: 由于自己有一台服务器放在偏远的老家,有可能会遇到停电导致断网的问题,并且停电后UPS使用时间也有限制, 因此设计此脚本为了解决停电的时候服务器突然断电引起的各种问题,当停电后网络也就不通了,此时需要自动关闭服务器. 当然,来电后需要手动启动服务器!!!

TTEr" style="font-family:Monaco, Menlo, Consolas, "background:none #F7F7F9 !important;vertical-align:baseline !important;font-size:13px !important;color:#AFAFAF !important;">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/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
layui

微信扫码关注 亿华联众 公众号

头条推荐