当前位置: 首页 > news >正文

Java Springboot项目线上shell文件

Java Springboot项目,打成jar包后,上传到服务器上,可直接使用java -jar xxx.jar命令来启动项目。但考虑到application.properties/yaml配置文件,使用外部的文件的问题,日志输出位置的问题,使用指令就显得非常繁琐。

此时,应该写shell脚本文件,来辅助启动线上项目。
在这里插入图片描述

  • config目录存放application.properties/yaml配置文件
  • jar目录存放java项目的jar包
  • logs目录存放日志文件
  • shell文件与上述目录同级

根据上述目录结构,使用命令 sh xxx.sh 即可通过shell的方式启动Java项目。
例: sh 56_easyclean.sh

以基于springboot的"数据清洗"项目为例,编写如下shell脚本,供参考

#!/bin/bash
#服务端口
port=56090
#服务jar和log名称
server_name=easyclean-api
#服务配置文件名称
config_name=application-clean.yaml
temp_config_name=${config_name#*-}
spring_profiles_active=${temp_config_name%.*}
#当前时间
TIME=$(date "+%Y-%m-%d_%H:%M:%S")
#输入参数1:是否启动时打印日志,如果第一个参数是log,则会打印
log_flag=$1echo =================================================
echo 'port='$port
echo 'server_name='${server_name}
echo 'config_name='${config_name}
echo 'spring_profiles_active='${spring_profiles_active}
echo 'log_flag='${log_flag}
echo =================================================
echo if [ ! -d "logs/" ];thenmkdir logs
fifor file in `ls jar/$server_name-*.jar`
doif [ -f "./$file"  ];thenif [ -f "jar/$server_name.jar" ];thensh server_backup.sh jar/${server_name}.jarfimv -f ${file} jar/${server_name}.jarfi
doneecho "正在停止服务"
ps axu |grep -v 'grep' |egrep "$port"|awk '{system("kill -9 "$2)}'echo "正在启动服务"
nohup  java -Xms512M  -jar jar/${server_name}.jar --spring.config.location=config/${config_name}  --server.port=${port} >logs/${server_name}.log 2>&1 &if [ "${log_flag}" = "log" ];thenecho "正在打印日志"tailf logs/${server_name}.log
fi

http://www.mrgr.cn/news/56917.html

相关文章:

  • 系统架构风格
  • Kubernetes部署练习
  • 因为一句废话,大模型无法解决小学数学题?
  • 斯坦福大学团队总结大语言模型在生物学领域的进展,助力AI解决复杂生物学问题|顶刊精析·24-10-21
  • Vue使用OnlyOffice预览文档方案
  • LCR 164.破解闯关密码
  • Python 快速提取PowerPoint文档中的图片
  • Python并发编程:threading模块详解
  • 我开源了Go语言连接数据库和一键生成结构体的包【实用】
  • 查看Chrome安装路
  • 天润融通知识库赋能一线客户运营,不是宝妈也可以成为育儿专家
  • 计算机专业大学四年的学习路线(非常详细),零基础入门到精通,看这一篇就够了
  • 低秩矩阵恢复
  • KCD81PJE1T92 SSD:企业级存储解决方案的卓越选择
  • Bench4Merge:一个提升自动驾驶车辆在复杂交通场景中并车能力的综合性评估平台。
  • 1.2 C++内存
  • 证明非平方整数阶射影平面关联矩阵的主对角线有t+1个1
  • k8s_Pod健康检查
  • Python Pandas 安装指南:快速入门与验证
  • 论文开题前的必备指南:如何做好充分准备
  • LeetCode题练习与总结:重新安排行程--332
  • 【c++丨STL】string类的使用
  • HarmonyOS鸿蒙分布式文件操作的时候权限问题
  • iOS 18.1新功能抢先看:控制中心大变身,睡眠呼吸暂停监测来袭
  • 经典动态规划问题:含手续费的股票买卖【从 O(n) 到 O(1) 的优化解析】
  • 多尺度建模:从理论到实践的深入探讨