【部署】Linux Shell脚本部署java程序 (jar包)

灰太狼 2024-02-21 08:36 134阅读 0赞

文章目录

  • 前言

前言

  1. #!/usr/bin/env bash
  2. #可变参数变量
  3. #部署磁盘路径
  4. baseDirPath=/data/apps/java/smj-exchange-upload
  5. #jar包名称
  6. packageName=smj-exchange-upload.jar #命令启动包名 xx.jar的xx
  7. pid= #进程pid
  8. #检测pid
  9. getPid(){
  10. echo "检测状态---------------------------------------------"
  11. pid=`ps -ef | grep -n ${
  12. packageName} | grep -v grep | awk '{print $2}'`
  13. if [ ${
  14. pid} ]
  15. then
  16. echo "运行pid:${pid}"
  17. else
  18. echo "未运行"
  19. fi
  20. }
  21. #启动程序
  22. function start()
  23. {
  24. #启动前,先停止之前的
  25. stop
  26. if [ ${
  27. pid} ]
  28. then
  29. echo "停止程序失败,无法启动"
  30. else
  31. echo "启动程序---------------------------------------------"
  32. #进入运行包目录
  33. cd ${
  34. baseDirPath}
  35. nohup java -jar ${
  36. packageName} >/dev/null 2>&1 &
  37. # java -jar ${baseDirPath}/${packageName}
  38. #查询是否有启动进程
  39. getPid
  40. if [ ${
  41. pid} ]
  42. then
  43. echo "已启动"
  44. #nohup日志
  45. tail -f nohup.out
  46. else
  47. echo "启动失败"
  48. fi
  49. fi
  50. }
  51. #停止程序
  52. function stop()
  53. {
  54. getPid
  55. if [ ${
  56. pid} ]
  57. then
  58. echo "停止程序---------------------------------------------"
  59. kill -9 ${
  60. pid}
  61. getPid
  62. }
  63. #停止程序
  64. function stop()
  65. {
  66. getPid
  67. if [ ${
  68. pid} ]
  69. then
  70. echo "停止程序---------------------------------------------"
  71. kill -9 ${
  72. pid}
  73. getPid
  74. if [ ${
  75. pid} ]
  76. then
  77. #stop
  78. echo "停止失败"
  79. else
  80. echo "停止成功"
  81. fi
  82. fi
  83. }
  84. #启动时带参数,根据参数执行
  85. if [ ${
  86. #} -ge 1 ]
  87. then
  88. case ${
  89. 1} in
  90. "start")
  91. start
  92. ;;
  93. "restart")
  94. start
  95. ;;
  96. "stop")
  97. stop
  98. ;;
  99. # "unzip")
  100. # #执行解压
  101. # shenniu_unzip
  102. # #执行启动
  103. # start
  104. # ;;
  105. *)
  106. echo "${1}无任何操作"
  107. ;;
  108. esac
  109. else
  110. echo "
  111. command如下命令:
  112. start:启动
  113. stop:停止进程
  114. restart:重启
  115. 示例命令如:./upload_start start
  116. "
  117. fi

注意:

  1. 遇到权限不够

在这里插入图片描述

执行 chmod u+x ./upload_start.sh

  1. 没有目录或者文件 是因为Windows格式和Linux格式不一致

执行 vim upload_start.sh 编辑文件

:set ff=unix

:eq
在这里插入图片描述

接下来就是见证奇迹的时刻了
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,134人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux分布式部署jar

    分布式部署就要考虑负载,比如一个服务部署多台机器上,要求是什么,一种是只有一台提供服务,其他作为备机,一种是多台提供服务,但要考虑负载 一种是只有一台提供服务,其他作为备机:

    相关 jar部署

    一、    java -jar a.jar & 直接启动jar文件,在当前会话进程中开启一个子进程来运行程序,这个子进程会随着会话进程的结束而结束。 这种情况适合短时间测试