1.简单检测在线情况
#!/bin/bash
#Created Time:2020/07/1
for ((;;))
do
#要ping的IP
for ip in 192.168.0.1 192.168.0.6 192.168.0.188
do
#将ping输出结果直接丢弃,但仍可被$?探测到成功与否
ping -c1 $ip &>/dev/null
if [ $? == "0" ]
then
echo -e "`date +"%F %H:%M:%S"` $ip is \033[32m UP \033[0m"
else
echo -e "`date +"%F %H:%M:%S"` $ip is \033[31m DOWN\033[0m"
fi
#休眠5秒
sleep 5
done
done
输出结果
2.网络掉线增加微信告警(server酱)
#!/bin/bash
#Created Time:2020/07/1
for ((;;))
do
#要ping的IP
for ip in 192.168.0.1 192.168.0.6 192.168.0.188
do
#将ping输出结果直接丢弃,但仍可被$?探测到成功与否
ping -c1 $ip &>/dev/null
#如果ping不通则推送微信告警
if [ $? != "0" ]
then
curl -d "text=主人,$ip 服务器挂掉啦&desp=$ip服务器挂掉啦,请尽快处理!" "https://sc.ftqq.com/这里填写您的SCKEY.send" >/dev/null 2>&1 &
fi
#休眠5秒
sleep 5
done
done
3.网络掉线增加邮件告警,需安装sendmail、mailx,参考链接
#!/bin/bash
#Time:2020/07/1
#这里实际应用可以设置定时任务,不建议写死循环
for ((;;))
do
for ip in 192.168.0.1 192.168.0.6 192.168.0.188
do
ping -c1 $ip &>/dev/null
if [ $? != "0" ];then
sendmail -t <<EOF
From:服务器异常通知 <xxxx@xxxxx.com>
To:xxxxx@xxxx.com
Subject:$ip 服务器挂掉啦
$ip 服务器挂掉了,请尽快处理
EOF
fi
#休眠5秒 实际应用可以设置到1分钟或以上
sleep 5
done
done
网友评论