日常運維管理技巧十三(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中命令作用是一樣的。