シェルスクリプト七つの100例

nginxのサービススクリプト


#!/ binに/ shを

#1のchkconfig:2345年55 25


NGINX_BIN = 'は/ usr / local / nginxの/ sbinに/ nginxの'

CONFIG = 'は/ usr / local / nginxの/ confに/ nginx.conf'


場合は「$ 1」

    開始)

        エコー-n "nginxのを開始しています..."


        PID = $(のps -ef | grepを "$ NGINX_BIN" | grepの-v grepの|のawk '{$ 2印刷}')

        [! "$ PID" = ""]の場合; それから

            "nginxの(PIDます$ PID)がすでに実行されている。" エコー

            1番出口

        されます


        $ NGINX_BIN -c $ CONFIG


        [ "$?" であれば != 0]; それから

            エコー「失敗」

            1番出口

        他

            「完了」エコー

        されます

        ;;


    やめる)

        -n "ストーピングのnginxの..." エコー


        PID = $(のps -ef | grepを "$ NGINX_BIN" | grepの-v grepの|のawk '{$ 2印刷}')

        もし[ "$ PID" = ""]; それから

            エコー「nginxのが実行されていません。」

            1番出口

        されます


        $ NGINX_BIN -s停止


        [ "$?" であれば != 0]; それから

            「失敗した。強制終了を使用して」エコー

            $ 0強制終了

        他

            「完了」エコー

        されます

        ;;


    状態)

        PID = $(のps -ef | grepを "$ NGINX_BIN" | grepの-v grepの|のawk '{$ 2印刷}')

        [! "$ PID" = ""]の場合; それから

            エコー "nginxの(PIDます$ PID)が実行されています..."

        他

            「nginxのが停止している。」エコー

            終了0

        されます

        ;;


    強制終了|キル)

        エコー-n "nginxのを終了..."


        PID = $(のps -ef | grepを "$ NGINX_BIN" | grepの-v grepの|のawk '{$ 2印刷}')

        もし[ "$ PID" = ""]; それから

            「nginxのが停止されている。」エコー

            1番出口

        されます


        $ PIDを殺します


        [ "$?" であれば != 0]; それから

            エコー「失敗」

            1番出口

        他

            「完了」エコー

        されます

        ;;


    再起動)

        $ 0停止

        睡眠1

        $スタート0

        ;;


    リロード)

        -nエコー "nginxのリロード..."


        PID = $(のps -ef | grepを "$ NGINX_BIN" | grepの-v grepの|のawk '{$ 2印刷}')

        [! "$ PID" = ""]の場合; それから

            $ NGINX_BIN -sリロード

            「完了」エコー

        他

            エコー「nginxのが実行されていない、リロードすることはできません。」

            1番出口

        されます

        ;;


    設定試験)

        -nエコー「テストnginxのは、ファイルを設定...」


        $ NGINX_BIN -t

        ;;


    *)

        「:$ 0 {キル|強制終了|設定試験|状況|をリロード| |停止|再起動を開始}使用法」エコー

        1番出口

        ;;


概要:主な調査があります

  1. スクリプトの書き込みサービス

  2. ケース条件文を書きます


おすすめ

転載: blog.51cto.com/9447803/2405776