linux 添加开机自启脚本

方式一

#vi  /etc/rc.d/rc.local

追加命令:

service nginx start

sh /home/server/start.sh

给脚本添加上可执行权限

#chmod +x rc.local

重启

reboot

方式二

自定义建立shell

#cd /etc/init.d/

建立vi myAutoStart.shjava

#!/bin/sh

#add for chkconfig
#chkconfig: 2345 70 30
#description: start xxx
#processname: myAutoStart

sh /home/server/start.sh

2345是指脚本的运行级别,即在2345这4种模式下均可以运行,234都是文本界面,5就是图形界面X 70是指脚本未来的启动顺序号,若是别的程序的启动顺序号比70小(好比4四、45),则脚本须要等这些程序都启动之后才启动。 30是指系统关闭时,脚本的中止顺序号。nginx

给脚本添加上可执行权限

#chmod +x myAutoStart.sh

添加shell

#chkconfig --add myAutoStart.sh

查看添加结果

# chkconfig --list

aegis           0:off   1:off   2:on    3:on    4:on    5:on    6:off
agentwatch      0:off   1:off   2:on    3:on    4:on    5:on    6:off
myAutoStart.sh  0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off

能够看到 2,3,4,5都是onshell

重启

#reboot

注意

#vi /home/server/start.sh

java -jar xxx.jar

这个sh里我主要调用java 启动jar包了,能正常开机启动这个start.sh,可是xxx.jar执行不了;主要缘由是环境变量的问题:code

  1. xxx.jar 找不到;
  2. java命令找不到,多是启动时PATH尚未把jdk路劲设置上;

针对这个问题,我解决方式以下:server

  1. 添加cd命令切换

2.设置jdk环境变量ip

cd /home/server

JAVA_HOME=/home/usr/jdk/jdk1.8.0_111

JRE_HOME=/home/usr/jdk/jdk1.8.0_111/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH
相关文章
相关标签/搜索