有時候咱們須要Linux系統在開機的時候自動加載某些腳本或系統服務apache
主要用三種方式進行這一操做:vim
ln -s 在/etc/rc.d/rc*.d目錄中創建/etc/init.d/服務的軟連接(*表明0~6七個運行級別之一)ssh
chkonfig 命令行運行級別設置spa
ntsysv 僞圖形運行級別設置.net
vim /etc/rc.d/rc.local 命令行
注意:1.這三種方式主要用於以redhat爲基礎的發行版htm
2.若是還不知道運行級別是什麼,那麼最好先看看相關資料再實驗blog
第一種方式:ln -s 創建啓動軟鏈接ip
在Linux中有7種運行級別(可在/etc/inittab文件設置),每種運行級別分別對應着/etc/rc.d/rc[0~6].d這7個目錄
Tips:/etc/rc[0~6].d實際上是/etc/rc.d/rc[0~6].d的軟鏈接,主要是爲了保持和Unix的兼容性才作此策
這7個目錄中,每一個目錄分別存放着對應運行級別加載時須要關閉或啓動的服務
由詳細信息能夠知道,其實每一個腳本文件都對應着/etc/init.d/目錄下具體的服務
K開頭的腳本文件表明運行級別加載時須要關閉的,S開頭的表明須要執行
所以,當咱們須要開機啓動本身的腳本時,只須要將可執行腳本丟在/etc/init.d目錄下,而後在/etc/rc.d/rc*.d中創建軟連接便可
[root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
此處sshd是具體服務的腳本文件,S100ssh是其軟連接,S開頭表明加載時自啓動
若是須要在多個運行級別下設置自啓動,則需創建多個軟連接
這種方式比較繁瑣,適用於自定義的服務腳本
若是系統中已經存在某些服務(好比安裝apache時就會有httpd服務項),可使用下面的兩種方式
第二種方式:chkconfig
若是須要自啓動某些服務,只需使用chkconfig 服務名 on便可,若想關閉,將on改成off
在默認狀況下,chkconfig會自啓動2345這四個級別,若是想自定義能夠加上--level選項
上面咱們先將sshd服務的全部啓動級別關閉,而後使用--level選項啓動自定義級別
Tips:--list選項可查看指定服務的啓動狀態,chkconfig不帶任何選項則查看全部服務狀態
第三種方式:ntsysv 僞圖形
ntsysv和chkconfig實際上是同樣的,只不過加上了圖形而已
啓動ntsysv有兩種方式,一是直接在命令行中輸入ntsysv,二是使用setup命令,而後選擇系統服務
默認狀況下,當前運行級別爲多少,在ntsysv中設置的啓動服務的級別即是多少
好比,我當前的運行級別是3,那麼我在僞圖形界面中選擇啓動服務後,它的運行級別也會是3
若是想自定義運行級別可以使用ntsysv --level方式
以上三種操做須要保證服務腳本文件可執行,而且要有root權限
其中,第一種方式多用於自定義腳本,第2、三種多用於系統已存在的服務
好比ftp、samba、ssh、httpd等等
而且,要作相關設置須要弄清楚運行級別的問題
Tips:若是想手動啓動某服務,傳統的方式是 /etc/init.d 服務名 start
實際上還能夠這樣,service 服務名 start