#!/bin/bash
#```ops
#title:利用shell检查一个url的可用行
#descr:
#```
check_url() {
    HTTP_CODE=$(curl -o /dev/null --connect-timeout 3 -s -w "%{http_code}" $1)
    if [ $HTTP_CODE -eq 200 ]; then
        continue
    fi
}
URL_LIST="www.baidu.com www.agasgf.com"
for URL in $URL_LIST; do
    check_url $URL
    check_url $URL
    check_url $URL
    echo "Warning: $URL Access failure!"
done


## 另外一种写法
[ -f /etc/init.d/functions ] && . /etc/init.d/functions

#chek url status
array=(
http://baidu.com
http://qq.com
http://taobao.com
http://192.168.1.233:9015/webfof_login/login
)

curl_ip() {
  CURL=$(curl -o /dev/null -s --connect-timeout 5 -w '%{http_code}' $1|egrep "200|302"|wc -l)
  return $CURL
}

main() {
   for n in ${array[*]}
   do 
      curl_ip $n
      if [ $? -eq 1 ];then
         action "curl $n" /bin/true
      else
         action "curl $n" /bin/false
         sleep 30 #try again after sleep 30 
          #CURL=$(curl $n|egrep "200|302"|wc -l)
           curl_ip $n
           if [ $CURL -eq 1 ];then
              action "Retry curl $n again" /bin/true
           else
              action "Retry curl $n again" /bin/false
          fi 
      fi
   done
}