Shell-case+函数 nginx服务启停脚本


title: Shell-case+函数 nginx服务启停脚本
date: 2020-04-25 20:24:09
categories:

  • Shell
    tags:
  • case
  • 函数定义脚本

使用case+函数实现启动、停止、重启nginx功能

1.nginx如何手动启动、手动停止、手动重启

2.使用case判断start、stop、restart

  • /usr/sbin/nginx 启动
  • /usr/sbin/nginx -s stop 停止
  • /usr/sbin/nginx -s reload 重载
  • /usr/sbin/nginx -s stop&& /usr/sbin/nginx 重启
#!/bin/bash

source /etc/init.d/functions #调用系统回显颜色
#action 用于回显需要的成功值 /bin/true 绿色OK /bin/false 红色false

##avg用于case执行后的回显使用
avg=$1
tes() {
    
    
	ss -tnlp | grep nginx &>/dev/null
	if [ $? -eq 0 ];then
		action "Nginx is $avg" /bin/true
	else
		action "Nginx is  operation failed" /bin/false
	fi
}
##nginx 启动、停止、重启、重载、强制重启函数定制
start() {
    
    
	 /usr/sbin/nginx 
	 tes
}

stop() {
    
    
	 /usr/sbin/nginx -s stop &>/dev/null
	tes
}

restart() {
    
    
	/usr/sbin/nginx -s stop &>/dev/null
	start
}

reload() {
    
    
	/usr/sbin/nginx -s reload &>/dev/null
	tes
}

status() {
    
    
	ss -tnlp | grep nginx  &>/dev/null
	if [ $? -eq 0 ];then
		echo "Nginx IP and Port:" `ss -tnlp | grep nginx | awk -F' ' '{print $4}'`
	else
		echo "Nginx not running" 
	fi
}
force-reload() {
    
    
	nginx_master_id=`ps -aux | grep 'nginx: ma*' | grep -v colo | awk '{print $2}'`
	kill -9 $nginx_master_id &>/dev/null
	start
}

case $1 in 
	start)
		start
		;;
	stop)
		stop
		;;
	restart)
		restart
		;;
	status)
		status
		;;
	reload)
		reload
		;;
	force-reload)
		force-reload
		;;
	*)
		echo "Usage: $0 {start|stop|status|restart|reload|force-reload}"
		;;
esac

猜你喜欢

转载自blog.csdn.net/qq_37126850/article/details/105718956