脚本 jar_auto.sh:
#!/bin/bash
#配置jdk的路径
export JAVA_HOME=/usr/local/java/jdk1.8.0_161 #此处为我的java环境路径,需要改为自己的JDK路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#有时需要把jar包延时启动(比如博主不设置延时启动jar,nacos会提示拒绝连接)
#延时30S运行jar包,需要延时启动则放开sleep注释行 (sleep+数字,表示延迟多少秒启动)
#sleep 30 #有点奇怪,设置了延时有一个jar包起不来,此处延时仅供参考
#配置jar包启动的路径 日志生成路径 nohup表示静默启动
# 这里是动态获取jar包名称,我们的jar包是打包时会打上时间戳,所以jar包名称为动态的,这里取得是最新时间的jar包
eureka_jar_name=$(ls -lt /home/3goodsoft/springcloud/eureka/ | grep ".jar" | head -n 1 |awk '{print $9}' )
echo "eureka_jar_name is $eureka_jar_name"
oauth2_jar_name=$(ls -lt /home/3goodsoft/springcloud/oauth2/ | grep ".jar" | head -n 1 |awk '{print $9}' )
echo "oauth2_jar_name is $oauth2_jar_name"
config_jar_name=$(ls -lt /home/3goodsoft/springcloud/config/ | grep ".jar" | head -n 1 |awk '{print $9}' )
echo "config_jar_name is $config_jar_name"
# 因为有启动顺序的要求 所以采用了 sleep
sleep 10
nohup java -jar /home/3goodsoft/springcloud/eureka/${eureka_jar_name} > /home/3goodsoft/springcloud/eureka/log.log 2>&1 &
sleep 10
nohup java -jar /home/3goodsoft/springcloud/config/${config_jar_name} > /home/3goodsoft/springcloud/config/log.log 2>&1 &
sleep 10
nohup java -jar /home/3goodsoft/springcloud/oauth2/${oauth2_jar_name} > /home/3goodsoft/springcloud/oauth2/log.log 2>&1 &
将脚本文件放到 /etc/rc.d/init.d
下
赋予脚本权限:chmod 777 /etc/rc.d/init.d/jar_auto.sh
脚本赋予开机自启动权限:
vi /etc/rc.d/rc.local
将脚本地址添加进来
赋予rc.local文件执行权限:chmod 777 /etc/rc.d/rc.local
然后重启服务器:reboot
查看:ps -ef | grep java