Linux之RedHat是如何使用腳本管理服務的

一、使用工具:chkconfig 管理/etc/rc.d/init.d或/etc/init.d/目錄下的服務啓動腳本。
     要在服務啓動腳本開頭添加兩行:
                           # chkconfig: 2345  88 12
                           # description: XXXXXXXXX XXXXXX
   這樣就能夠使用工具:chkconfig 來管理服務啓動腳本了。
   使用工具:chkconfig 工具的好處:
         沒有使用該工具,咱們要讓一個服務在二、三、四、5級別上都運行,在其它級別上都不運行。
  要手動設置不少符號鏈接:
                      在/etc/rc.d/rc1.d   執行:[root@node2 rc1.d]# ln -sv K12nrped ../init.d/nrped
                      在/etc/rc.d/rc2.d   執行:[root@node2 rc2.d]# ln -sv S88nrped ../init.d/nrped
                      在/etc/rc.d/rc3.d   執行:[root@node2 rc3.d]# ln -sv S88nrped ../init.d/nrped
                     在/etc/rc.d/rc4.d   執行:[root@node2 rc4.d]# ln -sv S88nrped ../init.d/nrped
                     在/etc/rc.d/rc5.d   執行:[root@node2 rc5.d]# ln -sv S88nrped ../init.d/nrped
                     在/etc/rc.d/rc6.d   執行:[root@node2 rc6.d]# ln -sv K12nrped ../init.d/nrped
       添加這些符號連接以後。運行級別改變時,該服務就會授腳本 rc 的控制。------> rc 腳本就會根據對應運行級別目錄(/etc/rc.d/rc$runlevel.d)的符號標識:S、K 關閉、啓動對應的服務。這樣就實現了設置一個服務是否在一個運行級別上運行。
         工具:chkconfig 就會根據服務運行腳本的 #chkconfig 行來,自動設置上述的符號連接。
  node

 [root@node2 rc3.d]# chkconfig on

     就會根據:# chkconfig: 2345  88 12 建立各運行級別上的符號連接。ios

二、爲了使用工具: service 管理服務 腳本最少須要接收 start 和 stop 選項;
   服務啓動腳本要根據用戶輸入的選項:
                                  stop  -----> 關閉服務
                                  start -----> 啓動服務
                              reload -----> 告訴程序重讀配置文件,改變程序的運行狀態
                               restart ----> 從新啓動服務web

三、Lock directory for RedHat / SuSE
      RedHat 管理服務的一種機制,要在/var/lock/subsys/目錄下建立一個鎖文件。vim

[root@node2 rc.d]# vim /etc/init.d/nrped#!/bin/bash# chkconfig: 2345 89 11# description: NRPE DAENONNRPE=/usr/local/nagios/bin/nrpe
OPTIONS="-c /etc/nagios/nrpe.cfg -d"lockfile=/var/lock/subsys/nrped
prog=nrped
RETVAL=0. /etc/rc.d/init.d/functions
start() {
        echo -n $"Starting $prog: "
        daemon   $NRPE $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch ${lockfile}
        return $RETVAL}stop() {
        echo -n $"Stopping $prog: "
        killproc  -d -10 $NRPE
        RETVAL=$?
        echo
        [ RETVAL = 0 ] && rm -f ${lockfile}}reload() {
         echo -n $"Reloading $prog: "
         killproc  $NRPE  -HUP         echo}case "$1" in
    start)
       start       ;;
    stop)
       stop       ;;
    restart)
       stop
       start        ;;
    reload)
       reload        ;;
    status)
       status  $NRPE
       ;;
     *)
       echo "Usage: $0 start|stop|restart|reload|status"
       ;;esacexit 0

 https://blog.51cto.com/9528du/1420058bash

相關文章
相關標籤/搜索