• 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
  • 相关阅读:
    e824. 获得和设置JSplitPane中的子组件
    e827. 设置JSplitPane中分隔物的大小
    e826. 获得和设置JSplitPane分开的位置
    e788. 取消JSpinner的键盘编辑能力
    e790. 设置JSpinner的边框
    e789. 限制用JSpinner实现数字选择的值
    e787. 用JSpinner实现小时选择
    e793. 监听JSpinner数据变化
    e791. 为JSpinner定制编辑器
    e792. 建立一个包括所有数据的SpinnerListModel
  • 原文地址:https://www.cnblogs.com/gaoyuechen/p/7988961.html
Copyright © 2020-2023  润新知