资讯专栏INFORMATION COLUMN

简单shell脚本结合curl检查nginx服务器状态

SHERlocked93 / 3514人阅读

摘要:本地搭建了虚拟主机,说一下中几个常用参数,实在太强大。可通过查看详细信息。最大传输时间输出格式化输出保留到文件,可以保留文件名字是输入头部和内容是只是输出头部其他参数详解测试开启和停用状态对此脚本影响

本地搭建了虚拟主机,git.com

说一下shell中curl几个常用参数,curl实在太强大。可通过man curl查看详细信息。

-m 最大传输时间
-s slient输出
-w 格式化输出
-o 保留到文件,-O可以保留文件名字
-i i是输入http头部和内容
-I -I是只是输出HTTP头部

其他curl参数详解

    curl -m 5 -s -w %{http_code}-o /home/index.html git.com
    
    HTTP/1.1 200 OK
    Server: nginx/1.4.6 (Ubuntu)
    Date: Tue, 05 Jan 2016 03:22:12 GMT
    Content-Type: text/html
    Content-Length: 24
    Last-Modified: Wed, 30 Dec 2015 06:05:47 GMT
    Connection: keep-alive
    ETag: "5683743b-18"
    Accept-Ranges: bytes


200

root@tb:/home/tb250# curl -m 5 -s -w %{http_code} -i git.com

HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Tue, 05 Jan 2016 03:23:00 GMT
Content-Type: text/html
Content-Length: 24
Last-Modified: Wed, 30 Dec 2015 06:05:47 GMT
Connection: keep-alive
ETag: "5683743b-18"
Accept-Ranges: bytes

hello git

hello git 10

200

vim check_nginx_server.sh

#!/bin/bash
NginxServer="git.com"
Check_Nginx_Server()
{

    http_status_code=$(curl -m 5 -s -i  -w %{http_code} -o/home/index.html $NginxServer)
    if [ $http_status_code -eq 000 -o $http_status_code -ge 500 ];then
            echo "check http server error 
http_status_code is"  $http_status_code
    else
            http_content=$(curl -s ${NginxServer}) 
            echo "service status ok
"$http_content
           
    fi

}

Check_Nginx_Server

测试nginx开启和停用状态对此脚本影响

root@tb:/home/tb250# sh  check_server.sh 
service status ok
hello git hello git 10
root@tb:/home/tb250# service nginx stop
root@tb:/home/tb250# sh  check_server.sh 
check http server error 
http_status_code is 000
root@tb:/home/tb250# service nginx start
root@tb:/home/tb250# sh  check_server.sh 
service status ok
hello git hello git 10

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39236.html

相关文章

  • 从零开始学习 Docker

    摘要:此命令下载测试镜像并在容器中运行它。国内很多云服务商都提供了加速器服务,例如阿里云加速器注册用户并且申请加速器,会获得如这样的地址。获取镜像阿里云镜像库上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像并运行。 showImg(https://segmentfault.com/img/remote/1460000012924583); 这篇文章是我学习 Docker 的记录...

    lily_wang 评论0 收藏0
  • 使用 Rancher 管理 AWS EKS 集群

    摘要:是一个流行的开源企业级管理平台,许多组织使用它来管理混合部署的集群。此使用显示收集的数据。通过选择左上角的下拉菜单返回集群控制台,屏幕截图如下。 James SunAWS解决方案架构师。James 拥有超过 15 年的信息技术行业从业经验。加入 AWS 前,他曾在 MapR、惠普、NetApp、雅虎和 EMC 等公司担任多个高级技术职位。他拥有斯坦福大学博士学位。本文原发于亚马逊AWS...

    awokezhou 评论0 收藏0
  • Nginx+Keepalived实现站点高可用

    摘要:在协议实现里,虚拟路由器使用作为虚拟地址,就是唯一的,这个地址同一时间只有一个物理路由器占用。在虚拟路由器里面的物理路由器组里面通过多播地址来定时发送通告消息。负责健康检查,包括常见的各种检查方式。 公司内部 OA 系统要做线上高可用,避免单点故障,所以计划使用2台虚拟机通过 Keepalived 工具来实现 nginx 的高可用(High Avaiability),达到一台nginx...

    Songlcy 评论0 收藏0
  • 构建Dockerfile

    摘要:正确的做法是直接执行可执行文件,并且要求以前台形式运行。官方镜像官方镜像在这里先定义了环境变量,其后的这层里,多次使用来进行操作定制。只有当以当前镜像为基础镜像,去构建下一级镜像的时候才会被执行。 基础命令 名称 作用 示例 docker systen df 查看镜像、容器、数据卷所占的空间 docker images -q 产生指定范围的id列表 docker imag...

    entner 评论0 收藏0
  • docker 应用系列(一)--- 一步步搭建虚拟机 docker 环境 附有 vue-cli +

    摘要:为确保系统里面没有自带的软件的残留,我们要清除一下旧版本的,虽然新系统一般都不会有就是了。更新软件包缓存。 showImg(https://segmentfault.com/img/remote/1460000015914895?w=1240&h=819); 小剧场 测试:裤裆你这页面刷新就白屏啊,怎么了啊,而且你看这 network,怎么这些 js 这么大啊,很耗流量而且加载速度还很...

    hatlonely 评论0 收藏0

发表评论

0条评论

SHERlocked93

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<