企业级-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——目录入侵检测与告警
人生得意须尽欢,莫使金樽空对月。 天生我材必有用,千金散尽还复来。