CentOS6.5 添加開機自啟動腳本


 

有時候我們需要Linux系統在開機的時候自動加載某些腳本或系統服務。在解問題之前先來看看Linux的啟動流程。

 

一、Linux的啟動流程

 

主要順序就是: 
1. 加載內核 
2. 啟動初始化進程 
3. 確定運行級別 
4. 加載開機啟動程序 
5. 用戶登錄

啟動流程的具體細節可以看看Linux 的啟動流程 

第4步加載啟動程序其實是兩步:

  1. init進程逐一加載開機啟動程序,其實就是運行指定目錄里的啟動腳本。
  2. 在運行完指定目錄里面的程序后init進程還會去執行/etc/rc.local 這個腳本。

ps:“指定目錄”是指在第3步中設置的運行級別對應的目錄。

要完成我們的需求,我們使用第4步中的任意一種方式都可以。

下面分別就是這兩種方式的具體實現:

 

 

二、chkconfig

1. 編寫腳本autostart.sh(這里以開機啟動redis服務為例),腳本內容如下:

#!/bin/sh
#chkconfig: 2345 80 90
#description:開機自動啟動的腳本程序

# 開啟redis服務 端口為6379
/usr/local/service/redis-2.8.3/src/redis-server --port 6379 &

腳本第一行 “#!/bin/sh” 告訴系統使用的shell; 
腳本第二行 “#chkconfig: 2345 80 90” 表示在2/3/4/5運行級別啟動,啟動序號(S80),關閉序號(K90); 
腳本第三行 表示的是服務的描述信息

注意: 第二行和第三行必寫,負責會出現如“服務 autostart.sh 不支持 chkconfig”這樣的錯誤。

2. 將寫好的autostart.sh腳本移動到/etc/rc.d/init.d/目錄下

3. 給腳本賦可執行權限

cd /etc/rc.d/init.d/
chmod +x autostart.sh

4. 添加腳本到開機自動啟動項目中

chkconfig --add autostart.sh
chkconfig autostart.sh on

 

到這里就設置完成了,我們只需要重啟一下我們的服務器,就能看到我們配置的redis服務已經可以開機自動啟動了。

 

 

三、修改/etc/rc.local腳本

末尾加入如下語句

/usr/local/service/redis-2.8.3/src/redis-server --port 6379 &

 

切忌 命令行末尾要加上 [  &  ] 符號(介紹), 表示任務在后台執行。否則會阻塞后面添加的命令行執行。

 

 

完畢。

 

 

 

 

PS:

https://blog.csdn.net/karchar/article/details/52489572

https://blog.csdn.net/daidaineteasy/article/details/54864776

https://blog.csdn.net/chinabestchina/article/details/72686002

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM