Linux開機自啟動腳本存放在/etc/rc.d或/etc/init.d目錄下。這些目錄是Linux系統中用于存放啟動腳本的標準目錄。具體而言,/etc/rc.d目錄是Red Hat系列發行版使用的目錄,而/etc/init.d目錄是Debian系列發行版使用的目錄。
在這些目錄中,你可以找到各種以.sh或無后綴的腳本文件。這些腳本文件定義了在系統啟動過程中需要執行的命令和任務。
要將腳本設置為開機自啟動,需要在/etc/rc.d或/etc/init.d目錄下創建一個符號鏈接(symbolic link),將腳本鏈接到相應的運行級別(runlevel)目錄中。運行級別目錄通常位于/etc/rc.d/rcX.d或/etc/rcX.d,其中X是運行級別的數字。
運行級別是系統在不同狀態下的操作模式。常見的運行級別包括0(關機)、1(單用戶模式)、2(多用戶模式,沒有網絡服務)、3(多用戶模式,有網絡服務)、5(圖形界面模式)等。
在運行級別目錄中,以字母S或K開頭的腳本文件表示啟動或停止服務。S開頭的腳本文件在相應運行級別啟動時被執行,K開頭的腳本文件在相應運行級別停止時被執行。這些腳本文件的命名規則是Snnname或Knnname,其中nn是一個兩位數字,表示腳本的執行順序,name是腳本的名稱。
例如,如果你的腳本文件是myscript.sh,你可以在/etc/rc.d或/etc/init.d目錄下創建一個符號鏈接來啟動它。假設你希望在運行級別3啟動該腳本,你可以執行以下命令:
ln -s /etc/init.d/myscript.sh /etc/rc.d/rc3.d/S99myscript
這將在/etc/rc.d/rc3.d目錄下創建一個名為S99myscript的符號鏈接,指向/etc/init.d/myscript.sh。當系統進入運行級別3時,S99myscript將被執行,從而啟動你的腳本。
同樣,如果你希望在運行級別3停止該腳本,你可以執行以下命令:
ln -s /etc/init.d/myscript.sh /etc/rc.d/rc3.d/K01myscript
這將在/etc/rc.d/rc3.d目錄下創建一個名為K01myscript的符號鏈接,指向/etc/init.d/myscript.sh。當系統離開運行級別3時,K01myscript將被執行,從而停止你的腳本。
需要注意的是,為了使腳本能夠在系統啟動和關閉時正確執行,你需要確保腳本具有可執行權限??梢允褂?span style="color:#C7254E;background: #F9F2F4;">chmod命令為腳本添加執行權限,例如:
chmod +x /etc/init.d/myscript.sh
這樣,你的腳本就會在Linux系統啟動時自動執行了。