通过脚本判断远程Web服务器状态码是否正常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过脚本判断远程Web服务器状态码是否正常相关的知识,希望对你有一定的参考价值。

通过脚本判断远程Web服务器状态码是否正常


  1. 说明:

    (1)生产环境常见的HTTP状态码列表,请查看我的博文:http://wutengfei.blog.51cto.com/10942117/1934645

    (2)实验中远程nginx服务器IP地址:192.168.100.114

       本地客户端IP地址:192.168.100.118

  2. 脚本如下

方法1:if

#!/bin/bash

httpcode=`curl -I -s 192.168.100.114|head -1|cut -d " " -f2`

if [ "$httpcode" == "200" ];then

        echo "nginx is running."

else

        echo "nginx is not running."

fi

验证结果如下:

开启nginx服务

技术分享

在客户端执行脚本:

技术分享

现在关闭nginx服务:

技术分享

在客户端执行脚本:

技术分享

方法2:利用传参

#!/bin/bash

if [ $# -ne 1 ];then

        echo "Usage:$0 IP port."

fi

httpcode=`curl -I -s $1|head -1|cut -d " " -f2`

if [ "$httpcode" == "200" ];then

        echo "nginx is running."

else

        echo "nginx is not running."

fi

验证结果如下:

开启nginx服务

技术分享

在客户端执行脚本:

技术分享

现在关闭nginx服务:

技术分享

在客户端执行脚本:

技术分享

方法3:利用read,界面比较友好

#!/bin/bash

read -p "please input IP:" a

if [ -z $a ];then

        echo "Usage:$0 please input ip."

fi

httpcode=`curl -I -s $a|head -1|cut -d " " -f2`

if [ "$httpcode" == "200" ];then

        echo "nginx is running."

else

        echo "nginx is not running."

fi

验证结果如下:

开启nginx服务

技术分享

在客户端执行脚本:

技术分享

现在关闭nginx服务:

技术分享

在客户端执行脚本:

技术分享

方法4:利用函数

#!/bin/bash

[ -f /etc/init.d/functions ] && . /etc/init.d/functions || exit 1

read -p "please input IP:" a

httpcode=`curl -I -s $a |head -1|cut -d " " -f2`

if [ "$httpcode" == "200" ];then

        action "nginx is running." /bin/true

else

        action "nginx is not running." /bin/false

fi

验证结果如下:

开启nginx服务

技术分享

在客户端执行脚本:

技术分享

现在关闭nginx服务:

技术分享

在客户端执行脚本:

技术分享

本文出自 “圣骑士控魔之手” 博客,请务必保留此出处http://wutengfei.blog.51cto.com/10942117/1946907

以上是关于通过脚本判断远程Web服务器状态码是否正常的主要内容,如果未能解决你的问题,请参考以下文章

案例六:shell脚本监控httpd服务80端口状态

Shell脚本根据Hash值判断web服务器页面是不是被更改

http web返回状态码

php判断远程文件是否存在

HTTP状态码

shell习题-22