linux利用飞信发送报警

          利用飞信实现事实的发送监控信息

所需软件:飞信linux的软件包

环境:    linux

  安装飞信我就不说了,很简单网上也很多文章,然后把下面的脚本,放在fetion目录下,当需要发送信息的时候,把需要的信息输入到目录下的sms.txt之中然后调用这个名字为sms.sh的脚本!

  下面放上我的脚本,匆忙写的一个脚本,希望多提意见!

 

  
  
  
  
  1. #!/bin/bash 
  2. dir=`pwd`
  3. mphone=139177*****
  4. passwd="1988***" 
  5. logdate=`date +%F` 
  6. logtime=`date +%F\ %H:%M:%S` 
  7. #funtion expect same information 
  8. expect() 
  9.   while read line; 
  10.   do 
  11.    if [ "$info" = "$line" ]; then 
  12. #         echo "$logtime expect this information $i" >> ${dir}/log/sms_${logdate}.log 
  13.           echo "$logtime expect this information $line"  
  14.           exit 
  15.    fi 
  16.   done  < ${dir}/expect.txt 
  17.  
  18.  
  19. #funtion for send messge 
  20. sms() 
  21. logtime=`date +%F\ %H:%M:%S` 
  22. slogtime=`date +%s` 
  23. info=`echo "send $info to $phone" ` 
  24. info=$info 
  25. lastlogtime=`grep -w "$info" ${dir}/log/sms_${logdate}.log | tail -n 1 |awk -F" " '{print $1" "$2 }'
  26.  if [ -z "$lastlogtime" ];then 
  27.     slastlogtime=0 
  28.  else 
  29.     slastlogtime=`date -d "$lastlogtime" +%s` 
  30.  fi 
  31. cond=`expr $slogtime - $slastlogtime` 
  32. Hour=`date +%H` 
  33. if [ $Hour -ge 19 ];then 
  34.   cond1=3600 
  35. elif [ $Hour -lt 10 ];then 
  36.   cond1=3600 
  37. else 
  38.   cond1=1200 
  39. fi 
  40.  
  41.  if [ $cond -ge $cond1 ];then 
  42. ${dir}/fetion --mobile=$mphone --pwd $passwd --to=$phone --msg-utf8="$logtime $info" > /dev/null 
  43.   echo  -e "send mesg to $phone !" 
  44.   echo  "$logtime  $info" >> ${dir}/log/sms_${logdate}.log 
  45.  fi 
  46.  
  47. #get phone num 
  48.      while read line ; 
  49.          do 
  50. #  for phone in `cat ${dir}/phlist.txt`;do 
  51.      phone=`echo $line` 
  52.          info=`cat ${dir}/messg.txt` 
  53.          if [ -z "$info" ];then 
  54.           echo -e "There is no info for messege!" 
  55.           echo "$logtime There is no info for messege!" >> ${dir}/log/sms_${logdate}.log 
  56.      else 
  57.              expect 
  58.              sms 
  59.          fi 
  60.   done < ${dir}/phlist.txt 

  关于脚本说明:

脚本配置文件:expect.txt  messg.txt phlist.txt

     

messg.txt 发送信息的内容,为检查出的一些错误信息。

          Eg.  zoneid:1252 Cant find plantname from serverInfo.cfg!

 

expect.txt 保存,一些例外不需要发送短信的信息,之中的信息是messg.txt之中的内容。

phlist.txt   需要发送的手机号码,一行一个

           Eg.  139177xxxxx

                139875xxxxx

在目录下  log目录下保存,发送信息的日志

日志文件         sms_2011-12-20.log  每一天的一个日志文档。

 

 

发送信息,设置发送间隔。

1,可以设定两个时间,一个是 10-19点为上班时间,可以设置为1200s ,修改sms.sh中 cond1=1200可以根据需要修改。

if [ $Hour -ge 19 ];then

  cond1=3600

elif [ $Hour -lt 10 ];then

  cond1=3600

else

  cond1=1200

fi

  第二个时间为出了10-19点其他的时间,cond1=3600,可以根据需要修改。

你可能感兴趣的:(linux,目录,飞信,软件包,发送信息)