linux服務開機啟動


1、chkconfig 配置開機啟動

在  /etc/init.d  創建執行服務的可執行腳本,賦予腳本可執行權限。如果是通過yum 或者rpm安裝的,並且已經在該目錄下存在對應的啟動腳本,就不用自己創建了。

需要開機通過chkconfig設置開機啟動的服務,必須在 /etc/init.d 目錄創建一個可執行腳本,服務名稱就是腳本名稱。
每個被chkconfig管理的服務需要在對應的init.d下的腳本加上兩行或者更多行的注釋。

# chkconfig:  chkconfig缺省啟動的運行級以及啟動和停止的優先級。

# description:   對服務進行描述,可以用\ 跨行注釋。

這兩行注釋必須要有

/etc/init.d/my-service  只是模擬一下,服務執行只是輸出數字123

#!/bin/bash
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.
echo 123;

chkconfig: 2345 20 80  表示這個服務在運行級別2345下運行  20表示開機啟動優先權重  80表示關閉優先權重。實際上chkconfig --add 命令是將/etc/init.d中的啟動腳本軟連接到

/etc/rc.d/rc3.d (rc0.d ... rc6.d)  0-6個運行級別對應相應的目錄。都是/etc/init.d 中啟動腳本的軟連接。

給 腳本 my-service 設置可執行權限,並通過chkconfig添加開機啟動服務

 
chmod +x /etc/init.d/my-service
chkconfig --add my-service

/etc/init.d/中的腳本,可以通過命令:

service service-name [start/stop]  啟動或者關閉。如果是自己編寫的啟動腳本,你需要學習一下shell的編寫,其實就是用了  case  in 命令進行編寫的 

例如

service nginx start
 
2、/etc/rc.local 文件中添加開機啟動命令。
開機的時候,執行完 /etc/rcx.d  (x表示0到6中的一個數字,對應7個運行級別的啟動目錄),最后會執行/etc/rc.local腳本,我們將要啟動的服務腳本寫到這個文件即可。    如果不生效,檢查文件是否有可執行權限
#!/bin/bash
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
#需要執行的腳本寫絕對路徑
/usr/local/rabbitmq_server-3.6.3/sbin/rabbitmq-server detached &

 

 
 
 
 


免責聲明!

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



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