Linux设置jar包开机自启
创建启动脚本
在/etc/rc.d/init.d目录下创建**.sh脚本文件,这里起名为jarStartUp.sh
文件中复制以下内容
# 配置jdk的路径(jdk的环境变量,可以使用more /etc/profile命令获取copy路径) export JAVA_HOME=/usr/local/java/jdk1.8.0_181 export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH=$PATH:${JAVA_HOME}/bin # 启动脚本 nohup java -jar /java/home/test.jar >/java/home/catalina.out 2>&1 & # 如果切换普通用户启动脚本 su - 用户名 -c 'nohup java -jar /java/home/test.jar >/java/home/catalina.out 2>&1 &' exit
su命令使用方式为:
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
含义是:
su的作用是变更为其它使用者的身份(超级用户除外,需要键入密码)
3.参数说明
-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。
-l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并
且工作目录也会改变。如果没有指定USER,缺省情况是root。
-m, -p ,–preserve-environment:执行su时不改变环境变数。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
其中:
jdk的路径替换为自己的路径,启动脚本为jar包的绝对路径,日志文件所在的绝对路径
也可以设置延迟时间
sleep 30 #表示延迟30秒启动
赋予脚本权限
chmod +x /etc/rc.d/init.d/jarStartUp.sh #脚本文件的全路径
脚本赋予开机自启动权限
vi /etc/rc.d/rc.local
在后面追加脚本文件路径
赋予rc.local文件执行权限
chmod 777 /etc/rc.d/rc.local
其中:
777 指文件所有者,文件所属组,其他用户,可读可写可执行
7 = 4+2+1 表示有可读可写可执行
6 = 4+2 表示有可读可写权限
5 = 4+1 表示有可读可执行
重启服务器
立即重启
shutdown -r now
重启后通过命令查看是否自启成功
ps aux|grep test.jar