1. 程式人生 > >日常運維管理技巧十三(chkconfig使用說明)

日常運維管理技巧十三(chkconfig使用說明)

chkconfig是管理系統服務(service)的命令列工具。所謂系統服務(service),就是隨系統啟動而啟動,隨系統關閉而關閉的程式。

chkconfig可以更新(啟動或停止)和查詢系統服務(service)執行級資訊。更簡單一點,chkconfig是一個用於維護/etc/rc[0-6].d目錄的命令列工具。

chkconfig 提供5個功能:

1. 設定service啟動資訊
# chkconfig name on/off/reset
on、off、reset   用於改變service的啟動資訊。 
on表示開啟,off表示關閉,reset表示重置。 
預設情況下,on和off開關只對執行級2,3,4,5有效,reset可以對所有執行級有效。 


例如:

設定httpd服務開機啟動

# chkconfig httpd on


設定service執行級別
# chkconfig --level levels

# chkconfig --level 2345 httpd on

指定執行級為2,3,4,5 
等級0表示:表示關機 
等級1表示:單使用者模式 
等級2表示:無網路連線的多使用者命令列模式 
等級3表示:有網路連線的多使用者命令列模式 
等級4表示:不可用 
等級5表示:帶圖形介面的多使用者模式 
等級6表示:重新啟動

2、 新增service
# chkconfig --add name
新增一個chkconfig管理的service,並在/etc/rc[0-6].d 目錄下新增相應的符號連結(symbolic links)。

3、移除service
# chkconfig --del name
從chkconfig 管理名單中刪除該service,並且刪除 /etc/rc[0-6].d 目錄下所有與之關聯的符號連結(symbolic links)。

4、列出service的啟動資訊
# chkconfig --list [name]
如果不指定name,會列出所有services的資訊。

每個service每個執行級別都會有一個啟動和停止指令碼;當切換執行級別時,init不會重啟已經啟動的service,也不會重新停止已經停止的service。

下面舉例說明

(1).列出所有服務的啟動情況



(2)增加mysqld服務

$ chkconfig --add mysqld

擴充套件下,新增的這個mysqld的服務指令碼在哪呢?實際上啟動的服務都存放在/etc/init.d中,其中的啟動檔案都具有特定的格式。



(3)刪除mysqld服務

$ chkconfig --del mysqld

(4)設定mysqld執行級別為2,3,4,5

$ chkconfig --level 2345 httpd on

(5)列出mysqld 服務啟動資訊情況

$ chkconfig --list mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

(6)設定啟動資訊

$ chkconfig mysqld on
預設的執行級別為2,3,4,5 
實際上,與4中命令作用是一樣的。