linux運維學習shell腳本監控nginx服務

        菜鳥學習shell腳本後,動手練手簡單小實驗,使用shell腳本判斷nginx是否正常運行,如果沒有運行將nginx服務啓動起來。

一、基於進程判斷

1、獲取nginx進程來判斷該服務是否正常啓動。

        ps -ef | grep nginx | grep -v grep | wc -l    輸出進程行數 然後判斷是否爲2 如果不是說明該服務沒有啓動。

         grep -v grep  用來排除掉您所使用grep產生的進程。

2、shell 腳本編寫

     先定義一個變量Web

            #!/bin/bash

            Web=`ps -ef |grep nginx|grep -v grep|wc -l`

            if [ $Web -eq 2 ];then

                     echo "you nginx start"

                     exit 0

                else

                     service nginx start

                     exit 1

            fi

定義一個變量Web ,然後判斷如果不成立,將使用service nginx start啓動服務。

 二、基於端口的判斷

    雖然都是獲取的數字,但是由於端口不存在的話爲空,所以判斷是用的是字符串的判斷

也就是把判斷的運算符使用"="而不是"-eq"

            #!/bin/bash

            WebPort=`netstat -nlt |grep 80|awk '{print $4}'| cut -d : -f 2`

            if [ "$WebPort" = "80" ];then 

                  echo "you nginx start"

                  exit 0

               else        

                    service nginx start

                    exit 1

            fi

當然還有好多方法,也在不斷學習和摸索中。(上述腳本對於數據庫等其他服務監控也可以)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章