Linux開機執行指定shell


目的:希望linux在開機或重啟后第一時間啟動部分服務或者執行特定腳本

1.需要在/etc/init.d/目錄下建立對應的shell腳本,示例如下: 開機啟動docker-compose中的所有容器

vi /etc/init.d/kafka

#!/bin/bash
### BEGIN INIT INFO
# Provides: changwei.xiao
# Required-Start: $start 
# Required-Stop: $stop
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: kafka service
# Description: kafka service daemon
### END INIT INFO

docker-compose -f /root/docker/docker-compose.yml restart;

2.增加可執行權限

chmod +x /etc/init.d/kafka

3.查看默認執行級別   

runlevel
5  #這里表面本台電腦默認執行級別為 5

Linux有0~6共7個執行級別,不了解的同學趕緊了解下

 

4.在對應默認級別中建立軟連接
ln -s /etc/init.d/kafka /etc/rc5.d/S01kafka

注意:S表示Start  K表示Kill  后面跟兩位數字,數字越小越優先執行

 

另外為了防止出錯,其實還有個建議,將需要執行的腳本放在/etc/rc.local中,系統在啟動完成后最后會去執行里面的內容


免責聲明!

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



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