• shell脚本 server httpd 控制程序


    原版的脚本里  查看status  需要用 lynx这个命令,还要开启http://localhost:80/server-status  
    比较麻烦,我直接注释了,新加的代码用红色字体
     
     
     
     
    #!/bin/sh
    #chkconfig: 2345 50 90
    #description: httpd is web server
    # Licensed to the Apache Software Foundation (ASF) under one or more
    # contributor license agreements.  See the NOTICE file distributed with
    # this work for additional information regarding copyright ownership.
    # The ASF licenses this file to You under the Apache License, Version 2.0
    # (the "License"); you may not use this file except in compliance with
    # the License.  You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    #
    #
    # Apache control script designed to allow an easy command line interface
    # to controlling Apache.  Written by Marc Slemko, 1997/08/23
    # The exit codes returned are:
    #   XXX this doc is no longer correct now that the interesting
    #   XXX functions are handled by httpd
    #0 - operation completed successfully
    #1 - 
    #2 - usage error
    #3 - httpd could not be started
    #4 - httpd could not be stopped
    #5 - httpd could not be started during a restart
    #6 - httpd could not be restarted during a restart
    #7 - httpd could not be restarted during a graceful restart
    #8 - configuration syntax error
    #
    # When multiple arguments are given, only the error from the _last_
    # one is reported.  Run "apachectl help" for usage info
    #
    ARGV="$@"
    #
    # |||||||||||||||||||| START CONFIGURATION SECTION  ||||||||||||||||||||
    # --------------------                              --------------------
    # the path to your httpd binary, including options if necessary
    HTTPD='/usr/local/apache/bin/httpd'
    #
    # pick up any necessary environment variables
    if test -f /usr/local/apache/bin/envvars; then
      . /usr/local/apache/bin/envvars
    fi
    #
    # a command that outputs a formatted text version of the HTML at the
    # url given on the command line.  Designed for lynx, however other
    # programs may work.  
    LYNX="lynx -dump"
    #
    # the URL to your server's mod_status status page.  If you do not
    # have one, then status and fullstatus will not work.
    STATUSURL="http://localhost:80/server-status"
    #
    # Set this variable to a command that increases the maximum
    # number of file descriptors allowed per child process. This is
    # critical for configurations that use many file descriptors,
    # such as mass vhosting, or a multithreaded server.
    ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"
     
    status1=$(ps -ef | egrep "/usr/local/apache/bin/httpd -k start" | grep -v 'grep')
     
      #status 
    function httpd_status() { 
        if [ "${status1}X" != "X" ];then 
            echo "httpd service is running !"   
        else
             echo "httpd service is not running !"  
        fi 
     
    # --------------------                              --------------------
    # ||||||||||||||||||||   END CONFIGURATION SECTION  ||||||||||||||||||||
     
    # Set the maximum number of file descriptors allowed per child process.
    if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then
        $ULIMIT_MAX_FILES
    fi
     
    ERROR=0
    if [ "x$ARGV" = "x" ] ; then 
        ARGV="-h"
    fi
     
    case $ARGV in
    start|stop|restart|graceful|graceful-stop)
        $HTTPD -k $ARGV
        ERROR=$?
        ;;
    startssl|sslstart|start-SSL)
        echo The startssl option is no longer supported.
        echo Please edit httpd.conf to include the SSL configuration settings
        echo and then use "apachectl start".
        ERROR=2
        ;;
    configtest)
        $HTTPD -t
        ERROR=$?
        ;;
    status)
       #$LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } '
       httpd_status
        ;;
    fullstatus)
        $LYNX $STATUSURL
        ;;
    *)
        $HTTPD $ARGV
        ERROR=$?
    esac
     
    exit $ERROR
     
  • 相关阅读:
    Apple Magic Trackpad All In One
    git tag All In One
    Python 字符串插值 All In One
    Pycharm 如何自定义新建的 Python 文件的注释模版 All in One
    How to Create a New File on Mac with Finder All In One
    Python & PEP 8 & Style Guide All In One
    python 中(序列)内置函数enumerate
    c语言中枚举类型
    c语言中利用函数递归求阶乘
    linux 中sed命令如何删除第一列和最后一列
  • 原文地址:https://www.cnblogs.com/centos2017/p/7896720.html
Copyright © 2020-2023  润新知