1. 程式人生 > >Linux系統管理初步(七)系統服務管理、chkconfig與systemd 編輯中

Linux系統管理初步(七)系統服務管理、chkconfig與systemd 編輯中

方便 sub text log 過去時 需要 cbe 理解 term

Linux系統本身包含了很多服務,CentOS6之前系統的服務用SysV控制,CentOS7改為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 --list mysqld #列出mysqld服務設置情況。
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以後版本就不用了,我們總結一些關鍵詞方便理解:

0是關機,
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 編輯中