shell脚本检查网站状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本检查网站状态相关的知识,希望对你有一定的参考价值。

检查网站状态通常使用wget或curl工具,下面分别使用这二种工具来做写检查网站的脚本。(学习自老男孩shell编程)


命令行:

1、curl得到返回值200,表示正常

[[email protected] ~]# curl -o /dev/null -s --connect-timeout 5 -w ‘%{http_code}‘ www.baidu.com

200[[email protected] ~]

2、wget得到0,表示正常

[[email protected] ~]# wget -T 5 -t 2 --spider www.baidu.com &>/dev/null

[[email protected] ~]# echo $?

0


脚本:

1、culr

[[email protected] shell]# cat check_web1.sh

#!/bin/bash

#

[ -f /etc/init.d/functions ] && . /etc/init.d/functions

array=(

http://www.china-cmd.org

http://www.cmdmedia.cn

http://www.icehtmc.com

https://mail.cmdmedia.cn

)

curl_ip() {

  CURL=$(curl -o /dev/null -s --connect-timeout 5 -w ‘%{http_code}‘ $1|egrep "200|302"|wc -l)

  return $CURL

}

main() {

   for n in ${array[*]}

   do 

      curl_ip $n

      if [ $? -eq 1 ];then

         action "curl $n" /bin/true

      else

         action "curl $n" /bin/false

         sleep 3

             CURL=$(curl_ip $n|egrep "200|302"|wc -l)

             if [ $CURL -eq 1 ];then

                action "Retry curl $n again" /bin/true

             else

                action "Retry curl $n again" /bin/false

             fi 

      fi

   done

main

图示:

技术分享


2、wget

[[email protected] shell]# cat check_web2.sh

#!/bin/bash

#

[ -f /etc/init.d/functions ] && . /etc/init.d/functions

array=(

http://www.china-cmd.org

http://www.cmdmedia.cn

http://www.icehtmc.com

https://mail.cmdmedia.cn

)

curl_ip() {

  wget -T 5 -t 2 --spider $1 &>/dev/null

  return $?

}

main() {

   for n in ${array[*]}

   do 

      curl_ip $n

      if [ $? -eq 0 ];then

         action "curl $n" /bin/true

      else

         action "curl $n" /bin/false

      fi

   done

main

图示:

技术分享


学习自:

老男孩shell

本文出自 “赵东伟的博客” 博客,请务必保留此出处http://zhaodongwei.blog.51cto.com/4233742/1899145

以上是关于shell脚本检查网站状态的主要内容,如果未能解决你的问题,请参考以下文章

Linux用shell脚本监控网站运行状态并发告警邮件

shell脚本:监控HTTP服务的状态(测试返回码)

Linux之shell脚本实战统计 Linux 进程相关数量信息

如何从 shell/shell 脚本获取 sqlplus 命令的输出状态?

在c ++中捕获shell脚本退出状态[重复]

shell脚本启动和停止apache 检查apache的运行状态 如果apache启动了就让它停止 ,如果停止了就启动apach