linux設定開機自啟動指令碼的最佳方式

yinnnnnnn發表於2018-05-28

公司的開發機經常因為斷電被重啟,服務都得手動一個一個啟動,專門研究了下如何設定開機自動重啟指令碼。

設定開機啟動方式一

最簡單粗暴的方式直接在指令碼/etc/rc.d/rc.local(和/etc/rc.local是同一個檔案,軟鏈)末尾新增自己的指令碼
然後,增加指令碼執行許可權

chmod +x /etc/rc.d/rc.local

設定開機啟動方式二

第二種方式是在crontab中設定

crontab -e
@reboot /home/user/test.sh

每次登入自動執行

也可以設定每次登入自動執行指令碼,在/etc/profile.d/目錄下新建sh指令碼,
/etc/profile會遍歷/etc/profile.d/*.sh

另外,幾個指令碼的區別:
(1) /etc/profile: 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行. 並從/etc/profile.d目錄的配置檔案中搜集shell的設定。

(2) /etc/bashrc: 為每一個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取(即每次新開一個終端,都會執行bashrc)。

(3) ~/.bash_profile: 每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次。預設情況下,設定一些環境變數,執行使用者的.bashrc檔案。

(4) ~/.bashrc: 該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該該檔案被讀取。

(5) ~/.bash_logout: 當每次退出系統(退出bash shell)時,執行該檔案. 另外,/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承 /etc/profile中的變數,他們是”父子”關係。

(6) ~/.bash_profile: 是互動式、login 方式進入 bash 執行的~/.bashrc 是互動式 non-login 方式進入 bash 執行的通常二者設定大致相同,所以通常前者會呼叫後者。

相關文章