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