利用飞信实现事实的发送监控信息
所需软件:飞信linux的软件包
环境: linux
安装飞信我就不说了,很简单网上也很多文章,然后把下面的脚本,放在fetion目录下,当需要发送信息的时候,把需要的信息输入到目录下的sms.txt之中然后调用这个名字为sms.sh的脚本!
下面放上我的脚本,匆忙写的一个脚本,希望多提意见!
- #!/bin/bash
- dir=`pwd`
- mphone=139177*****
- passwd="1988***"
- logdate=`date %F`
- logtime=`date %F\ %H:%M:%S`
- #funtion expect same information
- expect()
- {
- while read line;
- do
- if [ "$info" = "$line" ]; then
- # echo "$logtime expect this information $i" >> ${dir}/log/sms_${logdate}.log
- echo "$logtime expect this information $line"
- exit
- fi
- done < ${dir}/expect.txt
- }
-
-
- #funtion for send messge
- sms()
- {
- logtime=`date %F\ %H:%M:%S`
- slogtime=`date %s`
- info=`echo "send $info to $phone" `
- info=$info
- lastlogtime=`grep -w "$info" ${dir}/log/sms_${logdate}.log | tail -n 1 |awk -F" " ''{print $1" "$2 }''`
- if [ -z "$lastlogtime" ];then
- slastlogtime=0
- else
- slastlogtime=`date -d "$lastlogtime" %s`
- fi
- cond=`expr $slogtime - $slastlogtime`
- Hour=`date %H`
- if [ $Hour -ge 19 ];then
- cond1=3600
- elif [ $Hour -lt 10 ];then
- cond1=3600
- else
- cond1=1200
- fi
-
- if [ $cond -ge $cond1 ];then
- ${dir}/fetion
- echo -e "send mesg to $phone !"
- echo "$logtime $info" >> ${dir}/log/sms_${logdate}.log
- fi
- }
-
- #get phone num
- while read line ;
- do
- # for phone in `cat ${dir}/phlist.txt`;do
- phone=`echo $line`
- info=`cat ${dir}/messg.txt`
- if [ -z "$info" ];then
- echo -e "There is no info for messege!"
- echo "$logtime There is no info for messege!" >> ${dir}/log/sms_${logdate}.log
- else
- expect
- sms
- fi
- 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,可以根据需要修改. 本文出自 “末未莫” 博客,请务必保留此出处http://2828602.blog.51cto.com/2818602/749505
|