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