监控网站是否可以正常打开的Shell脚本分享
本文导语: 最近刚好需要测试一下新建站的稳定性,所以写了个SHELL脚本放到本机(最近换了mac本),能够实时查看你需要监控的WEB页面状态,并发送到指定邮箱. 这里赞一下OS X自带有crontab计划任务,可以直接在本机测试脚本啦^_^ # vi check_web_alive...
最近刚好需要测试一下新建站的稳定性,所以写了个SHELL脚本放到本机(最近换了mac本),能够实时查看你需要监控的WEB页面状态,并发送到指定邮箱.
这里赞一下OS X自带有crontab计划任务,可以直接在本机测试脚本啦^_^
# vi check_web_alive.sh
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# define url
WEB_URL=("http://www.example.com" "http://www1.example.com" "http://www2.example.com")
# check network
NET_ALIVE=$(ping -c 5 8.8.8.8 |grep 'received'|awk 'BEGIN {FS=","} {print $2}'|awk '{print $1}')
if [ $NET_ALIVE == 0 ]; then
echo "Network is not active,please check your network configuration!"
exit 0
fi
# check url
for((i=0; i!=${#WEB_URL[@]}; ++i))
{
ALIVE=$(curl -o /dev/null -s -m 10 -connect-timeout 10 -w %{http_code} ${WEB_URL[i]} |grep"000000")
if [ "$ALIVE" == "000000" ]; then
echo "'${WEB_URL[i]}' can not be open,please check!" | mail -s "Website Notification to ${WEB_URL[i]}" yourname@example.com
echo "failed"
else
echo "'${WEB_URL[i]}' is OK!"
fi
}