linux設定開機自啟動指令碼的最佳方式
公司的開發機經常因為斷電被重啟,服務都得手動一個一個啟動,專門研究了下如何設定開機自動重啟指令碼。
設定開機啟動方式一
最簡單粗暴的方式直接在指令碼/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:
(5) ~/.bash_logout:
當每次退出系統(退出bash shell)時,執行該檔案. 另外,/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承 /etc/profile中的變數,他們是”父子”關係。
(6) ~/.bash_profile:
是互動式、login 方式進入 bash 執行的~/.bashrc 是互動式 non-login 方式進入 bash 執行的通常二者設定大致相同,所以通常前者會呼叫後者。