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