使用chkconfig來管理Linux的服務
chkconfig 用得最多的估計是在裝完Linux后關閉一大堆無用的服務,特別是sendmail,我們還可以用chkconfig這個命令來管理Linux的服務,在此之前先復習一下Linux的運行級別,Linux一般會有7個運行級別:
0 - 停機
1 - 單用戶模式
2 - 多用戶,但是沒有NFS ,不能使用網絡
3 - 完全多用戶模式,我最喜歡的模式
4 - “打醬油” 模式,沒有用到
5 - X11
6 - 重新啟動 (如果將默認啟動模式設置為6,Linux將會不斷重啟)
0和7屬于臨時運行級別不應設置為默認,默認的運行級別在 /etc/inittab 中設置。
言歸正傳,chkconfig可以為我們定制服務,以TSM為例,安裝好TSM的Server后,在目錄/opt/tivoli/tsm/server/bin中可以找到一個文件dsmserv.rc,將其ln到/etc/init.d這個目錄中,最后改改名字,讓它開起來更像一個服務的名字:
[root@FWDB init.d]$ pwd /etc/rc.d/init.d [root@FWDB init.d]$ ln -s /opt/tivoli/tsm/server/bin/dsmserv.rc ./dsmserv [root@FWDB init.d]$ ll *dsm* lrwxrwxrwx 1 root root 37 Nov 8 10:43 dsmserv -> /opt/tivoli/tsm/server/bin/dsmserv.rc
此時可以觀察一下我們熟悉的/etc/rcX.d,X是指不同運行級別:
[root@FWDB init.d]$ ls /etc/rc3.d/*dsm* /etc/rc3.d/K10dsmserv [root@FWDB init.d]$ ls /etc/rc5.d/*dsm* /etc/rc5.d/K10dsmserv
我們可以像管理普通的服務那樣控制TSM的隨機啟動和關閉了:
[root@FWDB init.d]$ chkconfig --level 3 dsmserv on [root@FWDB init.d]$ ls /etc/rc3.d/*dsm* /etc/rc3.d/S90dsmserv [root@FWDB init.d]$ service dsmserv restart Stopping dsmserv... dsmserv stopped Successfully :-) Starting dsmserv ... Succeeded :-)
這個TSM的輸出顯得有點山寨。
大家可以留意下,啟動和關閉TSM的順序是不同的,分別是90和10,數值越小越優先啟動和關閉,這是在哪里的定義的呢? 這是在dsmserv.rc這個文件的中定義的:
[root@FWDB init.d]$ head -n 8 dsmserv #!/bin/bash # # dsmserv Start/Stop IBM Tivoli Storage Manager # # chkconfig: - 90 10 # description: Starts/Stops the IBM Tivoli Storage Manager Server # processname: dsmserv # pidfile: /var/run/dsmserv.pid
其中,第5行的90代表Start的順序,10代表Kill(Stop)的順序,不過更常用的做法是:
# chkconfig: 2345 90 10
指定需要注冊的運行級別。注意一下,這種腳本的這兩行是必須的,否則chkconfig --add會報錯的:
# chkconfig: _____________ # description: _____________
管理嘛,能添加也能刪除,調用 chkconfig --del 就可以了。
浙公網安備 33010602011771號