• 检测端口和URL状态码判断启动服务


    判断端口监听,链接状态返回、重启服务器。

    #!/bin/bash
    
    source /etc/profile
    # 加载环境变量
    port=`netstat -ntlp | grep -c ":8080"`
    # tomcat 8080 端口监听
    
    if [ "$port" = "0" ]; then
    # 如果 8080 端口没有进程在监听
        
        cd /opt/tomcat/bin && sh startup.sh &
        # 则启动 tomcat 的进程
        
        echo $(date "+%F %H:%M:%S") - port is down, restart tomcat >> /opt/logs/port.log
        # 将日志写入日志文件
    
    else   
        code=`curl -I -m 10 -o /dev/null -s -w %{http_code} http://127.0.0.1:8080/`
        # 测试 http://127.0.0.1:8080 返回码
        
        if [ "$code" != "200" ]; then
        # 如果返回的状态码不是 200
            
            ps aux|grep "tomcat" |grep -v grep|awk '{print $2}'|xargs kill -9
            # 则先 kill 掉所有 tomcat 的进程 (或者 shutup.sh )
            cd /opt/tomcat/bin && sh startup.sh &
            # 再启动 tomcat 的进程
            echo $(date "+%F %H:%M:%S") - kill service and restart != 200 >> /opt/logs/port.log
            # 将日志写入日志文件
        fi
    fi

    URL 返回状态码

    curl -I -m 10 -o /dev/null -s -w %{http_code} http://127.0.0.1:8080
    -I :只显示请求头信息;
    -m 10 :设置最大传输时间,单位是秒;
    -o /dev/null :屏蔽原有输出信息;
    -s :silent 模式,不输出任何东西;
    -w %{http_code} :控制额外输出。
  • 相关阅读:
    stm32入门
    Shell入门
    广播与组播
    超时接收
    socket的四种IO模型
    网络套接字socket
    网络基础
    慢速系统调用被中断
    C# 程序运行时间计算
    HTTP的传输编码(Transfer-Encoding:chunked) / net::ERR_INVALID_CHUNKED_ENCODING
  • 原文地址:https://www.cnblogs.com/sharesdk/p/12583650.html
Copyright © 2020-2023  润新知