背景:运维人员在客户发现网站异常之前处理掉异常
方式:正常有很多种方式,通过判断端口、进程、模拟用户访问等
常用的方式是通过模拟客户端进行访问的形式
Url_list="http://www.baidu.com http://www.sina.com http://www.nishishazi.com"
Mail_address="450776456@qq.com"
for url in $Url_list
do
Fail_count=0
for ((i=0;i<3;i++))
do
Http_code=$(curl -s -o /dev/null -w %{http_code} --connect-timeout 3 $url)
if [ "${Http_code}" -eq 200 ];then
break
else
let Fail_count++
fi
if [ "${Fail_count}" -eq 3 ];then
echo "$url is down" |mail -s "warnning:web is down" ${Mail_address}
fi
done
常用的模拟客户端进行访问的除开curl -s -o /dev/null -w %{http_code} --connect-timeout 外,还可以使用wget命令,案例如下:
wget -T 4 --spider $url &>/dev/null
通过命令执行的状态来进行判断