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 @   滴滴滴  阅读(2534)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示