cat /shell/moniter/urllist.txt
例如:
http://www.sina.com.cn
http://www.baidu.com
http:/www.yahoo.com
##################################################################
#!/bin/bash
#使用环境变量
###################
. /etc/profile
. ~/.bash_profile
##################
# Using to check dongtai http.
# Made by yuanmx@qq.com, 2014/7/29.
status[0]="OK: "
status[1]="WARNING: "
status[2]="CRITICAL: "
status[3]="UNKNOWN: "
k=0
notice_mail="aaaa@bbbb.com"
for i in `cat /shell/moniter/urllist.txt`;do
httpcode=`curl -L -o /dev/null -s -w %{http_code} "$i"` # -L 允许坚持跳转后链接 -o /dev/null 不显示输出 -s 静音模式不输出任何东西 -w 输出特定格式结果
if [ "$httpcode" -eq "200" ];then
status=0
echo "OK – $i $httpcode."
else
status=2
a[$k]="$i $httpcode" #将检测故障网页url 和状态放入数组
echo "Critical – ${a[$k]}"
k=`expr $k + 1`
fi
done
if [ "${#a[*]}" -eq "0" ];then #计算数组大小
echo "所有网页均正常访问"
exit 0
else
echo "总共检测 ${#a[*]}个故障网页"
#将存储故障url和状态代码显示出来并发送到报警邮箱。
for ((j=0; j<=`expr "${#a[*]}" - 1`;j++)) ;do
echo "`date +%Y%m%d%H%M%S` ${a[$j]}"
echo "`date +%Y%m%d%H%M$S` ${a[$j]}" | mail -s "`date +%Y%m%d%H%M$S` ${a[$j]}" $notice_mail
done
exit 2
fi