模拟Nginx服务启动停止重新加载脚本,模拟nginx加载脚本


Nginx服务启动停止重新加载脚本

要求:

已知Nginx管理命令为:

启动:/application/nginx/sbin/nginx

停止:/application/nginx/sbin/nginx -s stop

重新加载:/application/nginx/sbin/nginx -s reload

请用case脚本模拟Nginx启动关闭

/etc/init.d/nginx{start|stop|restart|reload}

并实现可通过chkonfig管理

 

脚本实现

脚本

#***********************

#nginx 启动脚本

#2018-11-29

#***********************

#!/bin/bash

#调用系统函数及自定义变量

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

Pidfile=/application/nginx/logs/nginx.pid

#共用函数

publics(){

  RETVAL=$?

if [ $RETVAL -eq 0 ];then

    action "Nginx is $1" /bin/true

else

   actio "Nginx is $1" /bin/false

fi

}

#启动函数start

start(){

  if [ -f $Pidfile ];then

    echo "Nginx is running"

  else

    /application/nginx/sbin/nginx

    publics Started

  fi

  return $RETVAL

}

#关闭函数stop

stop(){

   if [ ! -f $Pidfile ];then

     echo "Nginx is not runing"

   else

     /application/nginx/sbin/nginx -s stop

    publics Stopped

   fi

   return $RETVAL

}

#重新加载函数reload

reload(){

   if [ ! -f $Pidfile ];then

     echo "Can't open $Pidfile ,no such file directory"

   else

     /application/nginx/sbin/nginx -s reload

     publics Reload

   fi

  return $RETVAL

}

#case 语句使用选择

case "$1" in

    start)

         start

         RETVAL=$?

        ;;

    stop)

        stop

        RETVAL=$?

        ;;

  reload)

         reload

         RETVAL=$?

        ;;

restart)

         stop

         sleep 2

         start

        RETVAL=$?

        ;;

       *)

        echo "USAGE:$0 {satrt|stop|restart|reload}"

        exit  1

        ;;

esac

相关内容

    暂无相关文章