Chinaunix

标题: shell脚本发邮件间隔时间问题 [打印本页]

作者: luxinjun888    时间: 2012-05-09 15:11
标题: shell脚本发邮件间隔时间问题
本帖最后由 luxinjun888 于 2012-05-09 15:17 编辑

大家好,现在有一个脚本,脚本用于keepalived内对real server检测,检测一个页面返回的状态是否是OK,如果不是OK就记录错误,当报警超过3次就邮件报警(wget那里),现在我希望在第一次发邮件报警后,每隔5分钟后再次发邮件报警,邮件间隔时间怎么添加呢,小弟不才,谢谢指导一下:
#!/bin/bash
ip=$1
date=`date +%Y%m%d-%H:%M`
vod="http://$ip/tools/vod_health.php"
stat=`curl $vod`
if [ "$stat" == "OK" ]; then
   echo "OK" > /root/$1_error.txt
else
  echo "voderror" >> /root/$1_error.txt
fi

er=`awk '{ print NR }' /root/$1_error.txt | wc -l`

if [ $er -ge 3 ];then
     wget --post-data="to=luxinjun888&subject=error&body=$1_error,please check!!!" http://211.101.40.131/mail/sendmail.php
fi
exit 0


作者: todayhero    时间: 2012-05-09 16:04
希望下面的代码对你有帮助
  1. while true
  2. do
  3.         sleep 300
  4.         if [ 还是有故障 ]
  5.         then
  6.                 报警
  7.         else
  8.                 恢复正常
  9.                 exit
  10.         fi
  11. done
复制代码

作者: rdcwayx    时间: 2012-05-09 19:23
if判断中,Wget post 邮件后,输出当前时间去另一个文件。

再加个判断,如果该文件纪录最后的时间与当前时间少于5分钟,跳过不发邮件


作者: rdcwayx    时间: 2012-05-10 09:01
需要GNU date 支持。将下面的代码和你自己的合起来。
  1. t1=$(date -d "-5 minutes" +%Y%d%m%H%M)
  2. now=$(date +%Y%d%m%H%M)

  3. t2=$(ls lock*|cut -d . -f2)

  4. if [ ${t1} -lt ${t2} ]; then
  5.       exit
  6. fi

  7. if [ $er -ge 3 ];then
  8.      wget --post-data="to=luxinjun888&subject=error&body=$1_error,please check!!!" http://211.101.40.131/mail/sendmail.php
  9.      rm -f lock.*
  10.      touch lock.$now
  11. fi
复制代码

作者: Moran218    时间: 2016-03-04 16:47
各位前辈,本人想请教一个问题,下面是runTest.sh程序,但提示说有错误:args: should be "for start test next command",我不知道错在哪里了。

#!/bin/sh
#this shell script run smac.tcl under diffrent seeds and cbr interval
for i in `seq 1 12`
    do
            for j in `seq 1 15`
                    do
                            ns smac.tcl -seed $i -interval $j
                done
done


作者: Moran218    时间: 2016-03-04 20:59
这个问题已解决,原来是格式问题,需要把windows改成UNIX格式。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2