1. 程式人生 > >Linux自啟動服務優先級/順序設置

Linux自啟動服務優先級/順序設置

linux 自啟動

今天有一臺服務器沒有正常啟動,原因是有一個服務沒有啟動起來,因為A服務需要B服務啟動之後才能正常啟動,所以需要調整AB服務的啟動順序。在網上查找了一些資料,總結了一下,以備以後需要。

要知道服務的啟動順序,就需要先知道服務如何啟動的。linux7個運行級別,用戶可選擇不同的運行級別。進入/etc/rc.d/目錄,可查看到對應從rc0.drc6.d7個目錄,這些目錄即對應7個級別。

技術分享圖片

進入rc3.d目錄,可看到各種以K或者S開始的服務,K表示啟動,S表示停止,而後面的數字就表示啟動順序。我們以熟悉的network服務為例,這裏只是個鏈接,其實還是指向/etc/init.d/network,其啟動值為10

技術分享圖片

在rc?.d中的都是鏈接文件,鏈接在/etc/init.d中的腳本。

技術分享圖片

在腳本中,有#chkconfig 一行,這一行描述了當設置為自啟動的時候,這個腳本的啟動優先級和關閉的時候的關閉優先級。

例如,我們看network腳本:


技術分享圖片

我們可以看出,network腳本在被設置為自啟動的時候,只在2345級裏會自啟動,啟動優先級是10,關閉優先級是90。所以,如果要設置自己腳本自動啟動,那麽也需要有這一行。

技術分享圖片

這是我的腳本,很簡單,就是在腳本啟動的時候查看network的狀態,將結果寫入tmp中的network.res文件中。

在腳本中我設置的啟動優先級是9,比network小,也就是說當我的腳本啟動的時候,network還沒有啟動的。

設置我的腳本自動啟動:chkconfig --add test

然後在/etc/rc.d/rc5.d中可以看到我腳本的鏈接。

技術分享圖片

然後重啟虛擬機,查看tmp下的文件內容,看network啟動結果:

技術分享圖片

沒有啟動,達到目的。


Linux自啟動服務優先級/順序設置