Linux自启动jar包脚本,根据后缀名获取最新的jar包启动

脚本 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
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值