下面是一个检查网站状态的脚本,分别检查网页状态和网页连接时间。还可以根据自己的需要进行扩展,curl
write-out非常强大
#!/bin/sh
weblist=/opt/sbin/weblist.txt //定义要检查网站的列表,格式为“"
for list in `cat $weblist|grep -E -v "#|^$"` //从列表中找出网站名
do
httpcode=`curl -o /dev/null -s -w %{http_code} "$list"` //网页状态,正常为200
httptime=`curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "$list"|grep time_total|awk -F ":" '{print $2*1000}'`//网页连接总时间,由于bash不支持浮点运算,所以这里将运行时间放大了1000倍
if [ $httpcode = 200 ]||[ $httpcode = 301 ]||[ $httpcode = 302 ]||[ $httpcode = 403 ]||[ $httpcode = 401 ]//匹配状态
then
echo "$list is checked ok!"
else
//报警,这里采用的是调用接口,短信或邮件报警,由于内部使用,所以未列出
fi
if [ $httptime -ge 10000 ] //超时检查,如果大于10秒就报警,这个需要根据自己的需要定义
then
//报警,这里采用的是调用接口,短信或邮件报警,由于内部使用,所以未列出
else
echo "$list is connect ok!"
fi
done
阅读(2316) | 评论(1) | 转发(0) |