跳转至

31. 脚本:网站存活

4.4 网站存活检测脚本

1.执行方式
bash check_url_func.sh www.pythonav.cn
vim check_url_func.sh
2.非函数脚本
#!/bin/bash
#帮助提示
if [ "$#" -ne 1 ];then
    echo "Usage: $0 url"
    exit 1
fi

wget --spider -q -o /dev/null --tries=1 -T 5 $1
if [  "$?" -eq 0  ];then
    echo "$1 is running ..."
else 
    echo "$1 is down..."
fi

改造为函数脚本

#!/bin/bash
function usage(){
    echo "Usage: $0 url"
    exit 1
}

check_url(){
    wget --spider -q -o /dev/null --tries=1 -T 5 $1
    if [ "$?" -eq 0 ];then
        echo "$1 is running ..."
    else 
        echo "$1 is down..."
    fi
}

main(){
    if [ "$#" -ne 1 ];then
        usage
    fi
    check_url $1
}

main $*

4.5 美化脚本

可以从/etc/init.d/目录中找到(搜索log_success_msg)

lsb_functions="lib/lsb/init-functions"
if test -f $lsb_functions;then
    . $lsb_functions
else
    init_functions="/etc/init.d/functions"
    if test -f $init_functions;then
        . $init_functions
    fi
    log_success_msg(){
        echo "SUCCESS! $@"
    }
    log_failure_msg(){
        echo " ERROR! $@"
    }
fi

改造4.4脚本

check_url(){
    wget --spider -q -o /dev/null --tries=1 -T 5 $1
    if [ "$?" -eq 0 ];then
        log_success_msg "$1 is running ..."
    else 
        log_failure_msg "$1 is down..."
}
# 完整版

#!/bin/bash
# 美化脚本
lsb_functions="lib/lsb/init-functions"
if test -f $lsb_functions;then
    . $lsb_functions
else
    init_functions="/etc/init.d/functions"
    if test -f $init_functions;then
        . $init_functions
    fi
    log_success_msg(){
        echo "SUCCESS! $@"
    }
    log_failure_msg(){
        echo " ERROR! $@"
    }
fi

# 用法提示
function usage(){
    echo "Usage: $0 url"
    exit 1
}

# 执行函数
check_url(){
    wget --spider -q -o /dev/null --tries=1 -T 5 $1
    if [ "$?" -eq 0 ];then
        log_success_msg "$1 is running ..."
    else 
        log_failure_msg "$1 is down..."
    fi
}

# 主函数
main(){
    if [ "$#" -ne 1 ];then
        usage
    fi
    check_url $1
}

# 主函数
main $*

最后更新: 2022-02-19 13:59:07