Nginx啟動(dòng)停止腳本

Nginx啟動(dòng)停止腳本

在進(jìn)行啟動(dòng)Nginx時(shí),需要對(duì)其進(jìn)行檢查語(yǔ)法,語(yǔ)法成功則啟動(dòng)Nginx

當(dāng)Nginx語(yǔ)法檢查錯(cuò)誤,提示錯(cuò)誤的地方,然后進(jìn)行修復(fù)故障。修復(fù)成功則繼續(xù)啟動(dòng)。

[root@shell /scripts]# cat case-4.sh

#!/bin/bash

#1.調(diào)用函數(shù)庫(kù)

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

#1.0 加鎖機(jī)制

Suo=/tmp/nginx.lock

if [ -f $Suo ];then

? ? echo "此腳本$0 正在運(yùn)行中,請(qǐng)稍后再執(zhí)行........."

? ? exit

fi

#創(chuàng)建鎖

touch $Suo &>/dev/null

#2. 判斷執(zhí)行腳本時(shí)是否只有一個(gè)位置變量

if [ $# -ne 1 ];then

? ? echo "Usage: $0 {start|stop|status|restart|reload}"

? ? exit

fi

#3.寫case語(yǔ)句變量體

State=$1

Pid_File=/var/run/nginx.pid

case $State in

? ? start)

? ? ? ? ? ? if [ -f $Pid_File ];then

? ? ? ? ? ? ? ? action "服務(wù)Nginx正在運(yùn)行中................" /bin/true

? ? ? ? ? ? else

? ? ? ? ? ? ? ? /usr/sbin/nginx -t &>/dev/null

? ? ? ? ? ? ? ? if [ $? -eq 0 ];then

? ? ? ? ? ? ? ? ? ? /usr/sbin/nginx &>/dev/null && sleep 2

? ? ? ? ? ? ? ? ? ? if [ $? -eq 0 ];then

? ? ? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx啟動(dòng)成功..............." /bin/true

? ? ? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx啟動(dòng)失敗..............." /bin/false

? ? ? ? ? ? ? ? ? ? fi

? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? /usr/sbin/nginx -t &>/tmp/nginx_err.log

? ? ? ? ? ? ? ? ? ? Nginx_Err_File=$(awk -F '[ :]' 'NR==1{print $(NF-1)}'? /tmp/nginx_err.log)

? ? ? ? ? ? ? ? ? ? Nginx_Err_Line=$(awk -F '[ :]' 'NR==1{print $NF}'? /tmp/nginx_err.log)

? ? ? ? ? ? ? ? ? ? /usr/sbin/nginx -t

? ? ? ? ? ? ? ? ? ? read -p "Nginx配置文件檢查語(yǔ)法失敗!配置錯(cuò)誤的文件為:${Nginx_Err_File}錯(cuò)誤的行為第${Nginx_Err_Line}行,是否需要進(jìn)行配置修改[Yes|No]:" Qr

? ? ? ? ? ? ? ? ? ? case $Qr in

? ? ? ? ? ? ? ? ? ? ? ? Yes|Y|y|yes)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? vim? +$Nginx_Err_Line $Nginx_Err_File

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /usr/sbin/nginx -t &>/dev/null

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if [ $? -eq 0 ];then

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /usr/sbin/nginx &>/dev/null && sleep 2

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if [ $? -eq 0 ];then

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx啟動(dòng)成功..............." /bin/true

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx啟動(dòng)失敗..............." /bin/false

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? fi

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "Nginx語(yǔ)法檢查還是失??!你可以進(jìn)行選擇手動(dòng)修改!"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? fi

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;

? ? ? ? ? ? ? ? ? ? ? ? No|N|n|no)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "你選擇了不進(jìn)行修改!你可以進(jìn)行手動(dòng)修改配置文件!"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;

? ? ? ? ? ? ? ? ? ? ? ? *)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "你輸入的不符合要求!請(qǐng)按照要求輸入!"

? ? ? ? ? ? ? ? ? ? esac

? ? ? ? ? ? ? ? fi

? ? ? ? ? ? fi

? ? ? ? ? ? ;;

? ? stop)

? ? ? ? ? ? if [ -f $Pid_File ];then

? ? ? ? ? ? ? ? /usr/sbin/nginx -s stop &>/dev/null && sleep 2

? ? ? ? ? ? ? ? if [ $? -eq 0 ];then

? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx停止成功..............." /bin/true

? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx停止失敗..............." /bin/false

? ? ? ? ? ? ? ? fi

? ? ? ? ? ? else

? ? ? ? ? ? ? ? action "服務(wù)Nginx不在運(yùn)行中................." /bin/true

? ? ? ? ? ? fi

? ? ? ? ? ? ;;

? ? status)

? ? ? ? ? ? if [ -f $Pid_File ];then

? ? ? ? ? ? ? ? action "服務(wù)Nginx正在運(yùn)行中................." /bin/true

? ? ? ? ? ? else

? ? ? ? ? ? ? ? action "服務(wù)Nginx不在運(yùn)行中................." /bin/true

? ? ? ? ? ? fi

? ? ? ? ? ? ;;

? ? restart)

? ? ? ? ? ? if [ -f $Pid_File ];then

? ? ? ? ? ? ? ? /usr/sbin/nginx -s stop &>/dev/null && sleep 2

? ? ? ? ? ? ? ? if [ $? -eq 0 ];then

? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx停止成功..............." /bin/true

? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx停止失敗..............." /bin/false

? ? ? ? ? ? ? ? fi

? ? ? ? ? ? ? ? /usr/sbin/nginx &>/dev/null && sleep 2

? ? ? ? ? ? ? ? if [ $? -eq 0 ];then? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx啟動(dòng)成功..............." /bin/true

? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx啟動(dòng)失敗..............." /bin/false

? ? ? ? ? ? ? ? fi

? ? ? ? ? ? else

? ? ? ? ? ? ? ? action "服務(wù)Nginx不在運(yùn)行中................." /bin/true

? ? ? ? ? ? ? ? /usr/sbin/nginx &>/dev/null && sleep 2

? ? ? ? ? ? ? ? if [ $? -eq 0 ];then? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx啟動(dòng)成功..............." /bin/true

? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx啟動(dòng)失敗..............." /bin/false

? ? ? ? ? ? ? ? fi

? ? ? ? ? ? fi

? ? ? ? ? ? ;;

? ? reload)

? ? ? ? ? ? if [ -f $Pid_File ];then

? ? ? ? ? ? ? ? /usr/sbin/nginx -s reload &>/dev/null && sleep 2

? ? ? ? ? ? ? ? if [ $? -eq 0 ];then

? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx平滑重啟成功.........." /bin/true

? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? action "服務(wù)Nginx平滑重啟失敗.........." /bin/false

? ? ? ? ? ? ? ? fi

? ? ? ? ? ? else

? ? ? ? ? ? ? ? action "服務(wù)Nginx不在運(yùn)行中,無法進(jìn)行平滑重啟操作......" /bin/false

? ? ? ? ? ? fi

? ? ? ? ? ? ;;

? ? *)

? ? ? ? ? ? echo "Usage: $0 {start|stop|status|restart|reload}"

? ? ? ? ? ? exit

esac

#解鎖

rm -f $Suo &>/dev/null

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容