【shell】shell脚本监控某个IP地址是否健康

前段时间有个特殊ip,需要随时监控他是否可以ping通,在ping通的情况下是否存在丢包
研究了一下,特此记录一下脚本

下面是我的脚本,有许多不足之处,欢迎交流!
#!/bin/bash
#  author :ssiy
# 需求:ping IP通->有丢包->输出IP通和丢包率;
#                   IP通->无丢包输出ip正常;
#                   不通 -> 输出IP不通;
#					 一次Ping 10个包,10分钟ping一次 ping完一次睡眠10分钟
# 思路:通过ping 的丢包率来判断ip是否正常
# 丢包率 100%-->不通-->输出IP不通
# 丢包率 0%-->不通-->输出IP正常
# 丢包率 其他-->能ping但有丢包-->输出丢包率
# 10分钟ping一次可以通过定时任务来实现,计划任务格式   “分 时 日 月 星”

# 该ip只是我用来测试的,大家可以根据自己的需求,使用其他ip,如果ip较多,可以统一放到一个文件,用for循环来操作
IP=8.8.8.8

# 取出丢包率的数字,取丢包率是该脚本的核心语句
loss_rate=`ping -c 10 $IP | tail -n 2 | head -n 1 | awk -F ',' '{print $3}' | tr "%" " "  | awk '{print $1}'`
#echo "$loss_rate%"

#  用if来输出相应对ip判断的语句
if [ $loss_rate -eq 0 ]
then  
	echo "ip正常!!!"
else 
	if [ $loss_rate -eq 100 ]
     	then
 		echo "ip不通,请检查!!!"
	else
		echo "ip能ping通,但丢包率为$loss_rate%!!!"
	fi
fi

定时任务

H/10 * * * *   脚本路径
# 脚本记得加执行权限

脚本还只是初级版本,我有一个设想:
可以将取出来的ip丢包率保存,当丢包率为100%时,可以通过python发送邮件告警,这样可以即时的监控的ip的健康状态,达到自动化的目的,但python脚本我不是很熟,会尽力学习看看能不能实现该功能!

本人对shell脚本比较感兴趣,暂时还只能写比较简单的,如果有遇到不会写的,欢迎留言!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值