您的位置:首页 > 运维架构 > Shell

shell脚本监控网站并实现邮件、短信报警

2011-06-09 16:22 1226 查看
一、前期准备

# service sendmail start  用于发送邮件
# service crond start     用于定时任务
# chkconfig sendmail on
# chkconfig crond on

二、配置飞信

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.88888.cn

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" qq@163.com
# 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.comwww.88888.cn

使用了for循环

通过取网站正常时的返回值,为200 来匹配

如果正常就发送“相应网站 is OK" 到指定邮箱

如果失败就直接发送短信到1885151xxxx
本文出自 “no brothers,no linux” 博客,请务必保留此出处http://tonychiu.blog.51cto.com/656605/584339
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: