检测站点是否正常
  JiJ96DoSHEh4 2023年11月05日 15 0
# 写一个监控脚本,监控某个站点访问是否正常。
## 提示:
## 1.可以将访问的站点以参数的形式提供,例如 sh xxx.sh www.baidu.com
## 2.状态码为2xx或者3xx表示正常
## 3.正常时echo正常,不正常时echo不正常

#!/bin/bash

## 检查本机有没有curl命令
if ! which curl &>/dev/null
then
        echo "本机没有安装curl"
        ## 这里假设系统为Centos
        yum install -y curl
        if [ $? -ne 0 ]
        then
                echo "没有安装成功curl"
                exit
        fi
fi
## 获取状态码
code=`curl --connect-timeout 3 -I $1 -k 2>/dev/null |grep "HTTP" |awk '{print $2}'`

echo "code是:$code"

## 如果状态码是2xx或者3xx,则条件成立
if echo $code |grep -qE '^2[0-9][0-9]|^3[0-9][0-9]'
then
        echo "$1访问正常"
else
        echo "$1访问不正常"
fi

## --connect-timeout 3:指定连接超时时间为3秒。如果在3秒内无法建立与目标服务器的连接,curl将停止尝试并返回错误。
## -I:告诉curl只发送HTTP HEAD请求,而不是完整的GET请求。这样不会收到主体内容。
## -k参数表示"SSL insecure",告诉curl忽略SSL证书验证错误
## grep -qE:使用扩展正则表达式搜索匹配的行,不显示任何输出
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  MJlmRDrYd0Ow   2023年11月02日   39   0   0 bashi++字符串
  JiJ96DoSHEh4   2023年11月05日   16   0   0 bash状态码HTTP
  JiJ96DoSHEh4   2023年11月19日   15   0   0 bashlinux
  JiJ96DoSHEh4   2023年11月19日   14   0   0 bashbcsed
  Adn1GC3kyTwd   2023年11月02日   44   0   0 bashmavenapache
JiJ96DoSHEh4
最新推荐 更多