20120808ping脚本输出异常信息时进行报警,将信息发送到手机

 

########################################################################
## 问题描述 proversion 有时候会出现断连情况,有部署了一个ping脚本
##此脚本在ping脚本输出异常信息时进行报警,将信息发送到手机
########################################################################
recievers="9779802034218"
serverName=`hostname|sed 's/[a-b]$//'`

homePath=/home/sysMonitor

if [ ! -d ${homePath}/smsbill ]; then
        mkdir -p ${homePath}/smsbill
fi
if [ ! -d ${homePath}/smsbill_bak ]; then
        mkdir -p ${homePath}/smsbill_bak
fi
if [ ! -f ${homePath}/currentSerial ]; then
        echo 0 > ${homePath}/currentSerial
fi
########################################################################
## Send SMS
########################################################################
function sendSMS
{
        currentDate=`date +%Y%m%d`
        smsDate=`date`
        smsContent="$smsContent Time:$smsDate"
        messageLenth=`expr length "$smsContent"`
        for reciever in `echo $recievers`
        do
                echo $reciever
                lastSerial=`cat $homePath/currentSerial`
                currentSerial=`expr $lastSerial + 1`
                echo $currentSerial > $homePath/currentSerial
                smsbillName=sm${currentDate}_101_${currentSerial}${serverName}.unl
                smsbillContent="1 0 $reciever `date +%Y/%m/%d` `date +%T` 1 1 $messageLenth $smsContent"
                echo $smsbillContent > ${homePath}/smsbill/${smsbillName}        
                ${homePath}/autoFtp.sh ${smsbillName}
               
               
                mv ${homePath}/smsbill/${smsbillName} ${homePath}/smsbill_bak/
               
        done
}
########################################################################
## 检查15分钟内指定目录下是否有有指定的异常信息输出
########################################################################
filePaths="/home/provweb/ping/ping_enip/*.log"
fileContents="network unavailable"
function checkFileContents
{
  
       nums=`echo $fileContents|awk -F "[|]" '{print NF}'`
       num=0
     while [ $num -ne nums ]
     do
      fileNum=0
      num=`expr $num + 1`
      filePath=`echo $filePaths|awk -F "[|]" -v num=$num '{print $num}'`
            fileContent=`echo $fileContents|awk -F "[|]" -v num=$num '{print $num}'`
            fileNum=`grep -r "${fileContent}" ${filePath} | wc -l`
      if [ fileNum -ne 0 ]; then
        smsContent="Alarm :There are $fileNum times ${fileContent} in ${serverName},please check"
        sendSMS
      fi
      done   
}
checkFileContents

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值