简单监控网站访问是否正常的shell脚本,邮件报警。网站恢复后继续运行。

#!/bin/bash
# 使用curl检查网页是否可以正常访问,如果无法访问则发邮件。

SITE=crm.bjzgjh.com
PROT=80
URL="http://$SITE:$PROT"  
#mail_info
email_sender=(email@mail.com exmaple@qq.com)
email_title="$SITE端口$PROT故障警告!!!"
email_content="主机$SITE:$PROT不通!请及时处理。 \n监控邮件,不必回复"
time=3

check_once()   
{   
        echo   
        echo "$(date)  monitor check once"  
        # 2018.03.09 -I/--head -s/--silent   
        #if curl -s -I --connect-timeout 5 --max-time 10 http://localhost:$1/; then   
        if curl -s -I -L --connect-timeout 5 --max-time 10 $URL | grep -q '200 OK';   
  
  
	then   
                echo "$(date)  web maybe OK"  
		time=3
        else   
		
                echo "$(date)  web maybe FAILURE"  

		if [ $time -gt 0 ];
		then
		notify_error
		((time = time-1))
		fi

		echo "$(date)  mail send OK"
        fi   
}   

#故障邮件报警
notify_error()
{
	
	for var in ${email_sender[@]};
	do
		echo --------------------------------------------
		echo -e `date +"%Y-%m-%d %H:%M.%S"` $email_content | /bin/mail -s $email_title $var
	done
}

# 每隔一分钟检查一次网页是否正常   
while true;   
do   
	sleep 60  
	check_once >> /root/logs/check.$(date +%Y-%m-%d).log   
done   

  

参考链接:https://www.cnblogs.com/dim2046/p/5913701.html

转载于:https://www.cnblogs.com/zhaohonghao-blog/p/8534867.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值