19:批量检查多个网站地址是否正常

 批量检查多个网站地址是否正常

企业面试题:批量检查多个网站地址是否正常

要求:

1、使用shell数组方法实现,检测策略尽量模拟用户访问。

2、每10秒钟做一次所有的检测,无法访问的输出报警。

3、待检测的地址如下

http://blog.oldboyedu.com

http://blog.etiantian.org

http://oldboy.blog.51cto.com

http://10.0.0.7

解答:

 

 

 

[root@jenkins scripts]# cat check_url.sh
#!/bin/bash
##############################################################
# File Name: check_url.sh
# Version: V1.0
# Author: gaobo
# Organization: 641627690@qq.com
# Created Time : 2017-12-05 19:07:45
# Description:
##############################################################
#!/bin/bash

web_array=(
http://blog.oldboyedu.com
http://blog.etiantian.org
http://oldboy.blog.51cto.com
http://10.0.0.7
)
while true
do

for ((i=0;i<${#web_array[*]};i++))
do
wget -T 10 --tries=2 --spider ${web_array[$i]} >/dev/null 2>&1

if [ $? -eq 0 ]
then
    echo "${web_array[$i]} is ok" 
else
    echo "${web_array[$i]} is bad"

fi
sleep 3
done

done

 第二种吃多了的写法

 

[root@jenkins scripts]# vim check_url_shuzu.sh

#!/bin/bash
##############################################################
# File Name: check_url_shuzu.sh
# Version: V1.0
# Author: gaobo
# Organization: 641627690@qq.com
# Created Time : 2017-12-05 19:54:28
# Description:
##############################################################
web_sz=(
http://www.baidu.com
http://www.souhu.com
http://www.163.com
http://10.0.0.7
)

while true
do
        for ((i=0;i<${#web_sz[*]}; i++))
        do
                echo "${web_sz[$i]}  ---"
                ret_array=($(curl -I --connect-timeout 2 -s ${web_sz[$i]}|head -1))

                        echo "${web_sz[$i]}   ret_val is    ${ret_array[1]}"

                sleep 2

        done

done

 

posted @ 2017-12-05 19:32  滴滴滴  阅读(2506)  评论(0编辑  收藏  举报