一个ping检测告警函数代码
一个ping检测告警函数代码
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:#!/bin/bashping_monitor(){host_=(2032042052072082092102122132...

复制代码 代码如下:

#!/bin/bash

ping_monitor()

{

host_=(203 204 205 207 208 209 210 212 213 214 215 216 217 218 219 220 221)

ping_count=3

called=(13000000001 13000000002 13000000003)

calling=13000000000

callop=1310000000

#main------------------------------------------------------------

echo "`date "+%Y%m%d %H:%M:%S"`----->脚本开始执行......">>ping_log

for host_1 in ${host_[*]};do

host=192.168.1.$host_1

echo "-------->开始检测$host服务器通迅是否正常,ping次数$count"

ping_result=`ping $host -c $ping_count |tail -2 |head -1`

#sleep 1

echo "-------->服务器$host检测已完成"

#取成功条数

succ_ping=`echo ${ping_result:23:1}`

#取失败百分比

loss_ping=`echo ${ping_result:46:4}`

if [ $succ_ping -eq $ping_count ];then

echo "本次检测结果---->$host服务器ping检测正常"

echo "`date "+%Y%m%d %H:%M:%S"`--->$host服务器ping检测正常" >>ping_log

else

echo "本次检测结果---->$host服务器有丢包现象,丢包率为:$loss_ping"

echo "`date "+%Y%m%d %H:%M:%S"`--->$host服务器有丢包现象,丢包率为:$loss_ping" >>ping_err_log

#插入短信表—smssend00

for called in ${telno[*]};do

mysql -h$dbhost -u$dbuser -p$dbpass -D$dbbase <<GETRECODE

INSERT INTO $dbtable (servercode,smsservercode,groupid,priority,calling,called,payer,orderdatetime,senddatetime,effectstarttime,

effectendtime,effectstarttime2,effectendtime2,invaliddatetime,feevalue,iffee,message,hideflag,msgtype,smsfeetype,ifsmsreport,service

type,morelatetomtflag,reserve,optempid,optuserid,clientprogramtype,optcode,optip,remark)

VALUES

(2,2,1,0,'$calling','$called','$callop',Now(),Now(),'00:00:00','23:59:59',NULL,NULL,NULL,0,1,'服务器告警!!$host服务器检测到有丢包现像,丢包率:$loss_ping',0,1,2,0,'2_2',NULL,NULL,1,668,1,3001,'192.168.1.182',NULL)

GETRECODE

done

fi

done

echo "`date "+%Y%m%d %H:%M:%S"`----->脚本运行完毕......">>ping_log

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新linuxshell学习
热门linuxshell学习
脚本专栏子分类