Shell脚本范例(二十)——批量检测网站是否正常

本文分享常用的一些Shell脚本的例子,这是第二十篇——批量检测网站是否正常。

要求:

  1. 使用Shell数组方法实现,检测策略尽量模拟用户访问;
  2. 每10秒钟做一次所有的检测,对于无法访问的网址输出报警;
  3. 待检测的地址如下:
http://www.aliyun.com
http://www.dtdream.com
http://www.oliver.ren

参考:

#!/bin/bash
#Author: Oliver King
#Blog: http://www.oliver.ren

. /etc/init.d/functions

check_count=0
url_list=(
http://www.aliyun.com
http://www.dtdream.com
http://www.oliver.ren
)

function wait(){
for ((i=0;i<3;i++))
    do
        echo -n "."
        sleep 1
    done
}

function check_url(){
    wait
    for ((i=0;i<`echo ${#url_list[*]}`;i++))
    do
        wget -o /dev/null -T 3 --tries=1 --spider ${url_list[$i]} &> /dev/null
    if [ $? -eq 0 ]
    then
        action "${url_list[$i]}" /bin/true
    else
        action "${url_list[$i]}" /bin/false
    fi
    done
    ((check_count++))
}

function main(){
   while true
   do
       chech_url
       echo "----------check count:${check_count}----------"
       sleep 10
   done 
}

main

标签: none