小知识:Linux 检测服务器是否连接着网络

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

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

?
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

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux的wget命令详解

2023-4-2 8:09:18

建站知识

小知识:Centos Linux7设置静态IP的实例

2023-4-2 8:25:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索