博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

Ajian的学习天地


简单人生 Simple Life

生存是为了自己。。。。 而生活是为了所有的人。。。。自己快乐就能感染不快乐的人。自己学会快乐也就教会别人快乐。。。。 所以从现在起学会生活,学会快乐。。-----Ajian

  ajian.cublog.cn

关于作者
姓名: Ajian
年龄: 21
职位: 系统工程师
Q Q:  63894624
MSN:  5root@live.cn
mail: 5root@live.cn
   转眼一年过去了,凭着自己的热情和执着,实现了自己不少的愿望,可以慢慢还我欠下的所有的情,其中不枉有很多艰辛也有很多乐趣,新的一年继续加油!A ZA A ZA ^_^
   补充句我的Blog搬家了,新家的地址http://www.AjianZone.cn
|| << >> ||
我的分类


Shell程序集锦二——短信报警程序(Shell和Java)
    前言:以下是自己写的Java和Shell程序来监控Web的状况,并且通过短信来报警。这个是上次因为十七大,CCTV对网站的安全性要求很高,为了第一时间可以处理和解决,临时写的一个程序。程序分为两部分第一部分通过Http1.1协议查看Web首页的状况,第二部分 是发送短信程序。判断第一部分的结果来触发短信发送平台。下面主要是第一部分。首先写了一个Shell,因为稳定性的原因又写了Java的小程序。
--Ajian

注意:其中的 http://localhost/vivigw/monit_sms.php?message=就是短信发送触发程序

#!/bin/sh
#monit.sh
#Create By : Ajian
#Date : 20071016
getdir="/tmp"
/usr/bin/wget http://wap.cctv.com > $getdir/wget.txt  2>&1
/bin/rm    -f $getdir/index.php*
/bin/rm    -f /root/index.php*
sleep 5
Number=`sed -n '13p' $getdir/wget.txt | awk '{print $4$5}'`
#echo $Number
if [ "$Number" = "0KB/s" ]
        then
        /usr/bin/wget http://localhost/vivigw/monit_sms.php?message=网站白板
       /bin/rm -f /tmp/monit_sms.php?message=网站白板
    break
    else
         Number=`sed -n '8p' $getdir/wget.txt | awk '{print $4$5}'`
                #echo $Number
                if [ "$Number" = "0KB/s" ]
                then
            /usr/bin/wget http://localhost/vivigw/monit_sms.php?message=网站白板
                        /bin/rm -f /tmp/monit_sms.php?message=网站白板
        break
        else
        Number=`sed -n '6p' $getdir/wget.txt | awk '{print $2$3}'`
        #echo $Number
        if [ "$Number" = "ERROR404:" ]
        then
            /usr/bin/wget http://localhost/vivigw/monit_sms.php?message=$Number
                /bin/rm -f /tmp/monit_sms.php?message=$Number
                break
                else
                    Number=`sed -n '3p' $getdir/wget.txt | awk '{print $3}'`
        #            echo $Number
                    if [ "$Number" = "failed:NameService" ]
                    then
                        /usr/bin/wget http://localhost/vivigw/monit_sms.php?message=$Number
                         /bin/rm -f /tmp/monit_sms.php?message=$Number
                break
                else
                    Number=`sed -n '4p' $getdir/wget.txt | awk '{print $5$6}'`
        #            echo $Number
                    if [ "$Number" = "Connectionrefused." ]
                    then
                        /usr/bin/wget http://localhost/vivigw/monit_sms.php?message=$Number
                         /bin/rm -f /tmp/monit_sms.php?message=$Number&
                    break
            else
               /bin/ping -c 3 61.135.144.225 > $getdir/ping.txt 2>&1
                sleep 20
                Number=`sed -n '4p' $getdir/ping.txt | awk '{print $4$5}'`
                echo $Number
                if [ "$Number" = "0received," ]
                    then
                       /usr/bin/wget http://localhost/vivigw/monit_sms.php?message=CannotPing
                         /bin/rm -f /tmp/monit_sms.php?message=CannotPing
                    fi
                fi
            fi
    fi
fi
fi


//java 获取响应头response header     
//java CheckHttpResponse http://www.baidu.com 1>>CheckHttpResponse_log.txt
//Create By Ajian .
//Thank you for Jiao's help

import java.io.IOException;
import java.net.URL;
import java.net.HttpURLConnection;
import java.util.Date;

public class CheckHttpResponse {
   public static void main(String[] args) throws IOException{
       String testUrl = new String("");
       java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       String monitUrl = "http://localhost/vivigw/monit_sms.php?message=";
       if (args.length > 0) {
           testUrl = args[0];
       } else {
           testUrl = "http://www.baidu.com/index.php";
       }
       System.out.println("要测试的URL是: " + testUrl);
       System.out.println("测试时间是:" + sdf.format(new java.util.Date()));
      URL url = new URL(testUrl);
      HttpURLConnection conn = null;
      int responseCode = 0;
      try {
           conn = (HttpURLConnection)url.openConnection();
          responseCode = conn.getResponseCode();
      } catch (java.net.UnknownHostException uhE) {
          responseCode = 700;//UnknownHost
          System.out.println("未知主机,可能域名解析错误");
      }
      System.out.println("响应代码(ResponseCode)是 : " + responseCode);

        if (responseCode != 200) {
            monitUrl += responseCode;
      HttpURLConnection monitConn = null;
            monitConn = (HttpURLConnection)(new URL(monitUrl).openConnection());
//            System.out.println("监控URL是:" + monitUrl);
            System.out.println("报警结果是:" + monitConn.getResponseCode() + "\n");
        }

   }
}

发表于: 2007-12-02,修改于: 2008-01-04 17:16,已浏览476次,有评论0条 推荐 投诉


网友评论
 发表评论