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中,系统在启动完成后最后会去执行里面的内容

posted @ 2018-06-11 10:26  肖哥哥  阅读(3129)  评论(0编辑  收藏  举报
生命不息  奋斗不止  每天进步一点点