检测主机状态脚本
案例需求
通过脚本判断远程计算机的存活状态
脚本应用场景
1、通过监控平台调用监控脚本对服务器进行监控
2、机器扫描
解决问题
1、运维人员实时掌控机器的状态,防止宕机或者由于压力过大造成请求处理延时,保障业务的稳定、高效运行
脚本思路
1、通过ICMP协议的ping命令ping目标主机
网络延迟,假报警如何解决?
3次
2、分析ping结果
3、给出结论
全部ping结果为假,报宕机
全部ping成功,报正常
否则报警告
实现代码
#监控目标主机状态
#监控方法:ping ICMP协议
# ping通 host up
# ping不通 host down
# 关于禁ping 防止DDOS
# 禁的是陌生人 允许自己
# main
for ((i=1;i<4;i++)) do
#测试代码
if ping -c1 $1 &> /dev/null ;then
export ping_count"$i"=1
else
export ping_count"$i"=0
fi
#时间间隔
sleep 1
done
#三次ping失败报警
if [ $ping_count1 -eq $ping_count2 ] && [ $ping_count2 -eq $ping_count3 ] && [ $ping_count1 -eq 0 ]; then(这一句不太理解)
echo "$1 is done"
else
echo "$1 is up"
fi
unset ping_count1
unset ping_count2
unset ping_count3
测试结果
[root@CentOs shell]# bash host_status.sh 192.168.0.107(本机)
192.168.0.107 is up
[root@CentOs shell]# bash host_status.sh 192.168.0.112
192.168.0.112 is done
[root@CentOs shell]#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!