Linux系統管理初步(七)系統服務管理、chkconfig與systemd 編輯中
一、chkconfig服務管理機制
簡而言之,chkconfig就是CentOS6以前用來控制系統服務的工具,
常用方法舉例
chkconfig --list #列出所有的系統服務。
chkconfig --add httpd #增加httpd服務。
chkconfig --del httpd #刪除httpd服務。
chkconfig --level httpd 2345 on #設置httpd在運行級別為2、3、4、5的情況下都是on(開啟)的狀態。
chkconfig --level 35 mysqld on #設定mysqld在等級3和5為開機運行服務,--level 35表示操作只在等級3和5執行,on表示啟動,off表
系統開機時啟動的部分服務存儲在/etc/init.d/目錄下。我們可以把需要開機啟動的服務放在這個目錄下然後用chkconfig來管理。
1、列出chkconfig管理的服務
chkconfig
chkconfig --list
2、設定不同級別上各個服務的啟動與關閉
這裏先提示下級別的概念,就硬記概念,反正這個CentOS7以後版本就不用了,我們總結一些關鍵詞方便理解:
1是單用戶,就是我們之前修改root賬戶密碼的模式,
2是多用戶模式,但比3模式少了一個nfs服務
3是多用戶命令行模式,最常用
4是保留級別暫時沒用,
5是圖形模式,
6是重啟,
關閉network服務
chkconfig network off
k開啟network服務
chkconfig network on
關閉第5級別的network服務
chkconfig --level 5 network off
自定義一個服務並把它加入chkconfig管理
首先自定義的腳本要跟原有的network和netconsole服務一樣格式的服務腳本。
我們看下腳本的寫法
vi /etc/init.d/network
紅框的部分是必須有的
我們可以把network復制一份然後做實驗
cp network test
然後我們把命令加入chkconfig管理
chkconfig --add test #註意兩個減號
chkconfig --del test
隨著版本更新,chkconfig已經是過去時了。。。
二、systemd服務管理機制∴
查看systemd管理的服務
systemctl list-unit -all-type=service #查看所有服務
systemctl list-units --type=service #查看所有已經啟動的服務
服務的選項有三種是否LOAD、ACTIVE、SUB,具體含義見下圖:
針對單一服務的操作命令:
systemctl enable crond ##設置開機啟動crond服務或工具
systemctl disable crond ##設置關閉開機啟動crond服務或工具
systemctl status crond ##查看crond服務當前狀態,如是否運行
systemctl stop crond ##停止crond服務是,但開機仍會運行
systemctl start crond ##開啟crond服務
systemctl restart crond ##重啟crond服務
systemctl is-enabled crond ##檢查crond服務是否開機啟動
Linux系統管理初步(七)系統服務管理、chkconfig與systemd 編輯中