通过mutt发邮件到139邮箱实现短信报警

通过mutt发邮件到139邮箱实现短信报警

监控web服务器80端口是否可用,有2种方法:

1. 通过访问web服务器的某个固定URL,查看返回的http状态是否为200;

2. 通过扫描web服务器的 80端口是否已开启;

建议这2种方式都用上

#!/bin/bash

weblog=/root/monitor/websitemon.log

URL="http://www.linuxidc.com/logs/216232462.html"

URL2="http://www.linuxidc.com/logs/215480720.html"

HTTP_CODE=`curl -o /dev/null -s -w "%{http_code}" "${URL}"`

HTTP_CODE2=`curl -o /dev/null -s -w "%{http_code}" "${URL2}"`

time_stamp=`date "+%Y/%m/%d %T"`

subject="linuxidc.com不能访问! @`date +%T`"

echo "==========webpage check====">>$weblog

echo "$time_stamp  http_status= $HTTP_CODE ">>$weblog

#检测2个URL,只有全部失败时才会发短信

if [ $HTTP_CODE != '200' ];then

#check it again

if [ $HTTP_CODE2 != '200' ];then

echo "ff-bb down from monitor1"| mutt -s "${subject}" 135456789@139.com

fi

fi

###以下通过nmap 扫描80端口是否可用,-P0当web服务器禁ping的情况下使用 -p80是指只扫描80端口 增快速度和以防被防火墙放入黑名单

echo "========== web1 80 check====">>$weblog

nmap -P0 -p80 -sS -vv 1.2.3.4 |grep 80 |tail -n1>/tmp/nmap.txt

rr80=`cat /tmp/nmap.txt|awk '{print $2}'`

if [ "$rr80" != "open" ]; then

body="1.2.3.4 port80连接错误"

subject="web1 port80 down,check it now!@from monitor `date +%T`"

echo "${body}"| mutt -s "${subject}" 135456789@139.com

fi

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/e23ab0f3594404c007f43bc828d5c953.html