51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

shell 检查网站状态,并发送邮件

需求: 每天定时的检测网站,是否有 异常, 有异常就发送邮件通知管理员:

首先在 服务器上 配置 mail 功能,才能发邮件:参考步骤

然后我们写 一下我们的脚本文件:

#!/bin/bash  

##############################################################
# File Name: check_http.sh
# Version: V1.0
# Author: nod
# Description:sh check_http.sh www.baimeidashu.com
##############################################################

URL_LIST="www.baidu.com  www.baimeidashu.com"
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网站高危" 715740383@qq.com
    fi
	
done

然后我们设置一下定时任务:

每天晚上 8点 定时的检测网站:

crontab -l 列出当前任务 它只是适用于 crontab -e 添加的定时任务

每天12点执行一次:

赞(4)
未经允许不得转载:工具盒子 » shell 检查网站状态,并发送邮件