文章目录
- 案例需求
- 脚本应用场景
- 解决问题
- 脚本思路
- 实现代码
🌈你好呀!我是 山顶风景独好
🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分使然!😊
🌸愿您在此停留的每一刻,都沐浴在轻松愉悦的氛围中。
📖这里不仅有丰富的知识和趣味横生的内容等您来探索,更是一个自由交流的平台,期待您留下独特的思考与见解。🌟
🚀让我们一起踏上这段探索与成长的旅程,携手挖掘更多可能,共同进步!💪✨
案例需求
通过脚本判断远程计算机的存活状态
脚本应用场景
1、通过监控平台调用监控脚本对服务器进行监控
2、机器扫描
解决问题
1、运维人员实时掌控机器的状态,防止宕机或者由于压力过大造成请求处理延时,保障业务的稳定、高效运行
脚本思路
1、通过ICMP协议的ping命令ping目标主机
网络延迟,假报警如何解决?
3次
2、分析ping结果
3、给出结论
全部ping结果为假,报宕机
全部ping成功,报正常
否则报警告
实现代码
#!/bin/bash
#
#Author: www.zutuanxue.com
#Created Time:
#Release:
#Description:
#1、ping 目标主机三次,并接收每次的状态值,ping成功返回1,不成功返回0
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 0.3
done
#3、分析结果
# 3次ping失败报警
#
if [ $ping_count1 -eq $ping_count2 ] && [ $ping_count2 -eq $ping_count3 ]&&[ $ping_count1 -eq 0 ];then
echo "$1 宕机"
elif [ $ping_count1 -eq $ping_count2 ] && [ $ping_count2 -eq $ping_count3 ]&&[ $ping_count1 -eq 1 ];then
echo "$1 正常"
else
echo "warn: $1 网络延迟"
fi
#4、释放变量
unset ping_count1
unset ping_count2
unset ping_count3
✨ 这就是今天要分享给大家的全部内容了,我们下期再见!😊
🏠 我在CSDN等你哦!我的主页😍