Shell程序集锦二-短信报警程序(Shell和Java) - 许亿的博客 - 51CTO...
来源:百度文库 编辑:神马文学网 时间:2024/07/09 03:34:36
Shell程序集锦二-短信报警程序(Shell和Java)
前言:以下是自己写的Java和Shell程序来监控Web的状况,并且通过短信来报警。这个是上次因为十七八,CCTV对网站的安全性要求很高,为了第一时间可以处理和解决,临时写的一个程序。程序分为两部分第一部分通过Http1.1协议查看Web首页的状况,第二部分 是发送短信程序。判断第一部分的结果来触发短信发送平台。下面主要是第一部分。首先写了一个Shell,因为稳定性的原因又写了Java的小程序。
--Ajian
注意:其中的 [url]http://localhost/vivigw/monit_sms.php?message=[/url]就是短信发送触发程序
#!/bin/sh
#monit.sh
#Create By : Ajian
#Date : 20071016
getdir="/tmp"
/usr/bin/wget [url]http://wap.cctv.com[/url] > $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 [url]http://localhost/vivigw/monit_sms.php?message=[/url]网站白板
/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 [url]http://localhost/vivigw/monit_sms.php?message=[/url]网站白板
/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 [url]http://localhost/vivigw/monit_sms.php?message=$Number[/url]
/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 [url]http://localhost/vivigw/monit_sms.php?message=$Number[/url]
/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 [url]http://localhost/vivigw/monit_sms.php?message=$Number[/url]
/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 [url]http://localhost/vivigw/monit_sms.php?message=CannotPing[/url]
/bin/rm -f /tmp/monit_sms.php?message=CannotPing
fi
fi
fi
fi
fi
fi
//java 获取响应头response header
//java CheckHttpResponse [url]http://www.baidu.com[/url] 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");
}
}
}
前言:以下是自己写的Java和Shell程序来监控Web的状况,并且通过短信来报警。这个是上次因为十七八,CCTV对网站的安全性要求很高,为了第一时间可以处理和解决,临时写的一个程序。程序分为两部分第一部分通过Http1.1协议查看Web首页的状况,第二部分 是发送短信程序。判断第一部分的结果来触发短信发送平台。下面主要是第一部分。首先写了一个Shell,因为稳定性的原因又写了Java的小程序。
--Ajian
注意:其中的 [url]http://localhost/vivigw/monit_sms.php?message=[/url]就是短信发送触发程序
#!/bin/sh
#monit.sh
#Create By : Ajian
#Date : 20071016
getdir="/tmp"
/usr/bin/wget [url]http://wap.cctv.com[/url] > $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 [url]http://localhost/vivigw/monit_sms.php?message=[/url]网站白板
/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 [url]http://localhost/vivigw/monit_sms.php?message=[/url]网站白板
/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 [url]http://localhost/vivigw/monit_sms.php?message=$Number[/url]
/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 [url]http://localhost/vivigw/monit_sms.php?message=$Number[/url]
/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 [url]http://localhost/vivigw/monit_sms.php?message=$Number[/url]
/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 [url]http://localhost/vivigw/monit_sms.php?message=CannotPing[/url]
/bin/rm -f /tmp/monit_sms.php?message=CannotPing
fi
fi
fi
fi
fi
fi
//java 获取响应头response header
//java CheckHttpResponse [url]http://www.baidu.com[/url] 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");
}
}
}
Shell程序集锦二-短信报警程序(Shell和Java) - 许亿的博客 - 51CTO...
Shell程序实例集锦一
Linux库文件和Shell可执行程序命令文件搜索路径变量的设置
Unix系列shell程序编写(上)
Unix系列shell程序编写(上)
用Shell扩展实现源代码统计程序
Unix系列shell程序编写(上)
等用Shell調用的程序執行完成后再執行其它程序(VBA)
Winter实验室: 强大的Sed命令--背唐诗的Shell小程序
嘻嘻哈哈的部落格(blog) ? 在shell程序中用vim删除掉文件的最后一行
shell程序编写从入门到精通(上)
shell程序编写从入门到精通(中)
ORACLE数据导入Shell程序_快刀无敌
服务器+客户端的聊天程序 - 51CTO.COM
C#编写程序的课程学习 - 51CTO.COM
JAVA 写的日历程序
Java笔记(六 程序、进程和线程)
视频截取和队列处理的shell实现
Visual Studio 2008 Shell(翻译) - 编写人生 - 博客园
[BASH] 打造自己的 shell 環境 (2) - Shell Option
[shell]关于RANDOM 的例子
Linux Shell
shell 1
Shell 知识点