1.rc.local
# 1.编辑rc.local文件
vim /etc/rc.d/rc.local
# 添加内容如下 执行的shell脚本(比如启动某个服务)
/bin/bash /xxx.sh
# 要保证 /xxx.sh 有可执行权限
chmod +x /xxx.sh
# 命令启动 比如 GP 数据库
su - gpadmin -c "gpstart -a"
# 2.Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
chmod +x /etc/rc.d/rc.local
2.chkconfig
2.1 举例
cat <<'EOF' > /etc/rc.d/init.d/kafka
#!/bin/bash
# chkconfig: 2345 40 60
# description: service kafka
# processname: kafka
export JAVA_HOME=/usr/local/java/jdk1.8.0_241
KAFKA_HOME=/usr/local/kafka
case $1 in
start) ${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties;;
stop) ${KAFKA_HOME}/bin/kafka-server-stop.sh;;
status) ${JAVA_HOME}/bin/jps | grep Kafka;;
restart) ${KAFKA_HOME}/bin/kafka-server-stop.sh
${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties;;
*) echo "require start|stop|status|restart";;
esac
EOF
chmod +x /etc/rc.d/init.d/kafka
chkconfig --add /etc/rc.d/init.d/kafka
chkconfig kafka on
2.2 chkconfig配置说明
Linux chkconfig 命令用于检查,设置系统的各种服务。这是 Red Hat 公司遵循 GPL 规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。
# 语法
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]
- –add 增加所指定的系统服务,让 chkconfig 指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
- –del 删除所指定的系统服务,不再由 chkconfig 指令管理,并同时在系统启动的叙述文件内删除相关数据。
- –level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。
# 列出 chkconfig 所有的服务的情况或serviceName的服务情况
chkconfig --list [serviceName]
# 开启服务
chkconfig serviceName on
# 关闭服务
chkconfig serviceName off
系统服务配置文件里的 # chkconfig: 2345 10 90
三个参数说明:
第一个参数,指定服务的运行级别。
- 0 关机
- 1 单用户模式
- 2 无网络支持的多用户模式
- 3 有网络支持的多用户模式
- 4 保留,未使用
- 5 有网络支持有X-Window支持的多用户模式
- 6 重新引导系统,即重启
第二个参数,指定启动服务的优先等级。
第三个参数,指定停止服务的优先等级。
特别注意:数值越大等级越低。