企业级-Shell案例8——批量检测网站是否异常并邮件通知

批量检测网站是否异常脚本

检测网站运行是否正常,如果不能正常访问,发送邮件通知管理员

curl -o /de/dev/null -s -w "%{http_code}" www.baidu.com

访问失败,也又可能和网络等等原因有关。

所以我们要进行次数判断,超出一定的次数。那就发送邮件。

脚本编写

#!/bin/bash  
URL_LIST="www.baidu.com www.ctnrs.com www.der-matech.net.cn www.der-matech.com.cn www.der-matech.cn www.der-matech.top www.der-matech.org"
for URL in $URL_LIST; do
    FAIL_COUNT=0
    for ((i=1;i<=3;i++)); do
        HTTP_CODE=$(curl -o /dev/null --connect-timeout 3 -s -w "%{http_code}" $URL)
        if [ $HTTP_CODE -eq 200 ]; then
            echo "$URL OK"
            break
        else
            echo "$URL retry $FAIL_COUNT"
            let FAIL_COUNT++
        fi
    done
    if [ $FAIL_COUNT -eq 3 ]; then
        echo "Warning: $URL Access failure!"
		echo "网站$URL坏掉,请及时处理" | mail -s "$URL网站高危" 1794748404@qq.com
    fi
done

测试效果图

在设置个定时任务,10分钟一次。

然后就可以了。

相关博文:

 企业级-Shell案例1——服务器系统配置初始化

企业级-Shell案例2——发送告警邮件

企业级-Shell案例3——批量创建多个用户并设置密码

企业级-Shell案例4——一键查看服务器利用率

企业级-Shell案例5——找出占用CPU 内存过高的进程

企业级-Shell案例6——查看网卡的实时流量

企业级-Shell案例7——监控多台服务器磁盘利用率脚本

企业级-Shell案例8——批量检测网站是否异常并邮件通知

企业级-Shell案例9——批量主机远程执行命令脚本

企业级-Shell案例10——一键部署LNMP网站平台脚本

企业级-Shell案例11——监控MySQL主从同步状态是否异常脚本

企业级-Shell案例12——MySql数据库备份脚本

企业级-Shell案例13——Nginx访问日志分析

企业级-Shell案例14——Nginx访问日志自动按天(周、月)切割

企业级-Shell案例15——自动发布Java项目(Tomcat)

企业级-Shell案例16——自动发布PHP项目

企业级-Shell案例17——DOS攻击防范(自动屏蔽攻击IP)

企业级-Shell案例18——目录入侵检测与告警

posted @ 2020-01-18 18:15  南宫乘风  阅读(174)  评论(0编辑  收藏  举报