需求: 每天定时的检测网站,是否有 异常, 有异常就发送邮件通知管理员:
首先在 服务器上 配置 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点执行一次: