目的:希望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
N 5 #这里表面本台电脑默认执行级别为 5
Linux有0~6共7个执行级别,不了解的同学赶紧了解下
4.在对应默认级别中建立软连接
ln -s /etc/init.d/kafka /etc/rc5.d/S01kafka
注意:S表示Start K表示Kill 后面跟两位数字,数字越小越优先执行
另外为了防止出错,其实还有个建议,将需要执行的脚本放在/etc/rc.local中,系统在启动完成后最后会去执行里面的内容