模拟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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值