Linux下開機自啟動自定義shell指令碼

2021-07-23 07:56:15 字數 1919 閱讀 4334

一、ubuntu下

1、方法一,編輯rc.loacl指令碼

ubuntu開機之後會執行/etc/rc.local檔案中的指令碼,

所以我們可以直接在/etc/rc.local中新增啟動指令碼。【進入到/etc/rc5.d下,發現s99rc.local,即開機軟鏈結啟動順序99,在方法二設定開啟的之後】

當然要新增到語句:exit 0前面才行。

如:sudo vi /etc/rc.local

/home/neo/test.sh

exit 0

然後在 exit 0 前面新增好指令碼**。

2、方法二,新增乙個ubuntu的開機啟動服務。(此我設定的nn為95)

如果要新增為開機啟動執行的指令碼檔案,

可先將指令碼複製或者軟連線/etc/init.d/目錄下,

然後用:update-rc.d*** defaults nn命令(nn為啟動順序),

將指令碼新增到初始化執行的佇列中去。

注意如果指令碼需要用到網路,則nn需設定乙個比較大的數字,如99。

1) 將你的啟動指令碼複製到 /etc/init.d目錄下

以下假設你的指令碼檔名為 test。

2) 設定指令碼檔案的許可權

$ sudo chmod 755 /etc/init.d/test

3) 執行如下命令將指令碼放到啟動指令碼中去:

$ cd /etc/init.d

$ sudo update-rc.d test defaults 95

注:其中數字95是指令碼啟動的順序號,按照自己的需要相應修改即可。在你有多個啟動指令碼,而它們之間又有先後啟動的依賴關係時你就知道這個數字的具體作用了。該命令的輸出資訊參考如下:

update-rc.d: warning: /etc/init.d/test missing lsb information

update-rc.d: see adding system startup for /etc/init.d/test ...

/etc/rc0.d/k95test -> ../init.d/test

/etc/rc1.d/k95test -> ../init.d/test

/etc/rc6.d/k95test -> ../init.d/test

/etc/rc2.d/s95test -> ../init.d/test

/etc/rc3.d/s95test -> ../init.d/test

/etc/rc4.d/s95test -> ../init.d/test

/etc/rc5.d/s95test -> ../init.d/test

解除安裝啟動指令碼的方法:

$ cd /etc/init.d

$ sudo update-rc.d -f test remove

命令輸出的資訊參考如下:

removing any system startup links for /etc/init.d/test ...

/etc/rc0.d/k95test

/etc/rc1.d/k95test

/etc/rc2.d/s95test

/etc/rc3.d/s95test

/etc/rc4.d/s95test

/etc/rc5.d/s95test

/etc/rc6.d/k95test

二、ferdora下

Linux下開機自啟動自定義shell指令碼

1 方法一,編輯rc.loacl指令碼 ubuntu開機之後會執行 etc rc.local檔案中的指令碼,所以我們可以直接在 etc rc.local中新增啟動指令碼。進入到 etc rc5.d下,發現s99rc.local,即開機軟鏈結啟動順序99,在方法二設定開啟的之後 當然要新增到語句 ex...

Linux下開機自啟動自定義shell指令碼

1 方法一,編輯rc.loacl指令碼 ubuntu開機之後會執行 etc rc.local檔案中的指令碼,所以我們可以直接在 etc rc.local中新增啟動指令碼。進入到 etc rc5.d下,發現s99rc.local,即開機軟鏈結啟動順序99,在方法二設定開啟的之後 當然要新增到語句 ex...

Linux下新增自定義指令碼到開機自啟動

寫乙個指令碼,名字為 autostart.sh,放在 etc init.d 目錄下,賦予許可權chmod x etc init.d autostart.sh 如下 bin sh chkconfig 2345 9020 description autostart server daemon shell...