#!/usr/bin/bash
#Copyright (C) 2020 Sangfor Ltd. All rights reserved. #Date:2020年06月29日 #Description:nginx 的启动管理脚本 srcipt
#variables nginx_install_doc=/usr/local/nginx nginxd=$nginx_install_doc/sbin/nginx pid_file=$nginx_install_doc/logs/nginx.pid
# Source function library 系统提供的函数库 if [ -f /etc/init.d/functions ];then . /etc/init.d/functions else echo "not found file /etc/init.d/functions " exit fi
if [ -f $pid_file ];then nginx_process_id=`cat $pid_file` nginx_process_num=`ps aux |grep $nginx_process_id |grep -v "grep"|wc -l` fi
#function start () { # 如果nginx没有启动直接启动,否则报错 已经启动 if [ -f $pid_file ] && [ $nginx_process_num -ge 1 ];then echo "nginx running..." else if [ -f $pid_file ] && [ $nginx_process_num -lt 1 ];then rm -f $pid_file # 使用函数库中的函数启动nginx echo " nginx start `daemon $nginxd` " # 或者使用 action "nginx start" $nginxd fi echo " nginx start `daemon $nginxd` " fi }
stop () { if [ -f $pid_file ] && [ $nginx_process_num -ge 1 ];then action "nginx stop" killall -s QUIT $nginxd rm -rf $pid_file else action "nginx stop" killall -s QUIT $nginxd fi }
restart () { stop sleep 1 start }
reload () { if [ -f $pid_file ] && [ $nginx_process_num -ge 1 ];then action "nginx reload" killall -s HUP nginx else action "nginx reliad" killall -s HUP nginx 2>/dev/null fi }
status () { if [ -f $pid_file ] && [ $nginx_process_num -ge 1 ];then echo "nginx running..." else echo "nginx stop" fi }
#callable case $1 in start) start;; stop) stop;; restart) restart;; reload) reload;; status) status;; *) echo "USAGE: $0 start|stop|restart|reload|status";; esac