有時候我們需要linux系統在開機的時候自動載入某些指令碼或系統服務,主要用三種方式進行這一操作:
ln -s 在/etc/rc.d/rc*.d目錄中建立/etc/init.d/服務的軟鏈結(*代表0~6七個執行級別之一)
chkonfig 命令列執行級別設定
ntsysv 偽圖形執行級別設定
注意:這三種方式主要用於以redhat為基礎的發行版
如果還不知道執行級別是什麼,那麼最好先看看相關資料再實驗
第一種方式:ln -s 建立啟動軟連線
在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/目錄下具體的服務。
如果需要在多個執行級別下設定自啟動,則需建立多個軟鏈結,這種方式比較繁瑣,適用於自定義的服務指令碼。
如果系統中已經存在某些服務(比如安裝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許可權,其中,第一種方式多用於自定義指令碼,第
二、三種多用於系統已存在的服務,比如ftp、samba、ssh、httpd等等,並且,要做相關設定需要弄清楚執行級別的問題。
tips:如果想手動啟動某服務,傳統的方式是 /etc/init.d 服務名 start。
實際上還可以這樣,service 服務名 start:
黃丹 tel:(010)68476606】
Linux 開機自啟服務
需求 需要在linux啟動的時候開啟某些服務 比如說 開啟 zookeeper hdfs yarn服務 注意 因為這些服務需要用到ssh通訊所以要保證 ssh服務先啟動,並且網路服務啟動 方法一 非最終解決方法 在 etc rc.local中新增 如果不想將指令碼粘來粘去,或建立鏈結什麼的,則 st...
linux服務 程序開機自啟
一 etc rc.local 在檔案最後一行新增要執行程式的全路徑。如mongodb tomcat jenkins 放在tomcat中啟動只需要新增tomcat啟動指令碼 sleep 3 sleep 3 二 註冊系統服務 chkconfig add 服務名 chkconfig leve 啟動級別 服...
Linux優化開機自啟服務
root localhost cat etc redhat release centos release 6.5 final 必須保留的啟動服務 1.crond 定時任務服務 2.network 網路服務 3.rsyslog 日誌服務 4.sshd 遠端鏈結服務 5.sysstat 系統監控服務 涉...