shell脚本监控网站并实现邮件、飞信短信报警
一、前期准备
# service sendmail start 用于发送邮件
# service crond start 用于定时任务
# chkconfig sendmail on
# chkconfig crond on
Fetion下载地址
# wget http://www.it-adv.net/fetion/downng/fetion20091117-linux.tar.gz
解压安装
# tar -xzf fetion20091117-linux.tar.gz -C /usr/local/fetion //解压
# echo "/usr/local/fetion">>/etc/ld.so.conf //包含Fetion的类库
# ldconfig
测试使用
# /usr/local/fetion/fetion --mobile=13555555555 --pwd=555555 --to=15555555555555 --msg-utf8=“这是一个条飞信测试。---hi.baidu.com/ostech”
//上面的是短信息,有时候监控信息太多,一条短信会拆成多条。为了一条全部显示。看下面的例子
# /usr/local/fetion/fetion --mobile=13555555555 --pwd=555555 --to=15555555555555 --msg-utf8=“这是一条长短信---hi.baidu.com/ostech” --msg-type
二、配置飞信
1、下载下来的飞信应该是如下结构
# ls /usr/local/fetion/
done
libACE_SSL-5.7.2.so
libssl.so.4
cache
fetion
libcrypto.so.4
logs
commands
libACE-5.7.2.so libeay32.dll
plugins
2、需要把libACE-5.7.2.so、libcrypto.so.4、libssl.so.4、libACE_SSL-5.7.2.so 复制到/usr/lib目录中,给fetion添加执行权限,飞信才可以正常运行
# cp libACE-5.7.2.so libcrypto.so.4 libssl.so.4 libACE_SSL-5.7.2.so /usr/lib
# chmod +x fetion
3、发送飞信的脚本
# /usr/local/fetion/fetion --mobile=1356440xxxx --pwd 123456 --to=1885151xxxx --msg-utf8="hi"
1) mobile后面是发送手机号;
2) pwd后面是飞信密码
3) to后面是接收短信的号码
注:mobile后的手机号必须开通飞信服务,并且to后的手机号必须是mobile的飞信好友
三、脚本监控
#!/bin/bash
#网站url地址
for URL in http://www.abc.com http://www.bnxb.com
do
#获取http响应代码
HTTP_CODE=`curl -o /dev/null -s -w "%{http_code}" "${URL}"`
#服务器能正常响应,应该返回200的代码
if [ $HTTP_CODE = 200 ]
then
echo "$URL is OK" | /bin/mail -s "Http Check" [email protected]
else
/usr/local/fetion/fetion --mobile=1356440xxxx --pwd 123456 --to=1885151xxxx --msg-utf8="$URL is ERROR; error code is $HTTP_CODE"
fi
done
此脚本监控了2个网站www.abc.com与www.bnxb.com
使用了for循环
通过取网站正常时的返回值,为200 来匹配
如果正常就发送“相应网站 is OK" 到指定邮箱
如果失败就直接发送短信到1885151xxxx
- 最新评论
