使用shell制作启动,重启,停止springboot服务脚本

时间:2024-10-09 20:40:56

 

如下图,需要先建好的目录有: 

,启动指定的spring boot配置文件

:放置日志的目录,启动(访问日志)会输出到这个目录下面

3.需要上传打好的jar包

 

启动脚本:  :   

  1. #!/bin/sh
  2. ## java env java环境指定
  3. export JAVA_HOME=/usr/local/src/jdk/jdk1.8.0_171
  4. export JRE_HOME=$JAVA_HOME/jre
  5. # jar名称
  6. JAR_NAME=ruanyan1-0.0.
  7. ##当前目录
  8. DEPLOY_DIR=`pwd`
  9. # 配置文件名称
  10. CONF_DIR=$DEPLOY_DIR/
  11. ## 日志输出目录文件
  12. LOGS_DIR=$DEPLOY_DIR/logs
  13. STDOUT_FILE=$LOGS_DIR/
  14. #检查程序是否在运行
  15. is_exist(){
  16. pid=`ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}' `
  17. #如果不存在返回1,存在返回0
  18. if [ -z "${pid}" ]; then
  19. return 1
  20. else
  21. return 0
  22. fi
  23. }
  24. #启动方法
  25. startFun(){
  26. is_exist
  27. if [ $? -eq "0" ]; then
  28. echo ">>> ${JAR_NAME} is already running PID=${pid} <<<"
  29. exit 1
  30. else
  31. ## 指定jvm,jar名称,配置文件,以及日志输出目录文件
  32. nohup $JRE_HOME/bin/java -Xms256m -Xmx512m -jar $JAR_NAME --=$CONF_DIR >> $STDOUT_FILE 2>&1 &
  33. echo ">>> start $JAR_NAME successed pid=$! <<<"
  34. ## 输出实时日志
  35. tail -f ${STDOUT_FILE}
  36. fi
  37. }
  38. ## 启动服务
  39. startFun

两个 >>是文件内容追加   一个>是文件内容覆盖,也就是每次启动项目的时候文件追加或者覆盖选择

 

停止的脚本:

  1. #!/bin/sh
  2. # jar名称
  3. JAR_NAME=ruanyan1-0.0.
  4. ## 检查服务是否启动
  5. is_exist(){
  6. pid=`ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}' `
  7. ##如果不存在返回1,存在返回0
  8. if [ -z "$pid" ]; then
  9. return 1
  10. else
  11. return 0
  12. fi
  13. }
  14. is_exist
  15. if [ $? -eq "0" ]; then
  16. echo -e "Stopping the $JAR_NAME ...\c"
  17. ##shell中可以直接使用函数中定义的变量,注意函数必须定义在使用的前面
  18. kill -9 $pid
  19. else
  20. echo "ERROR,${JAR_NAME} does not running...."
  21. exit 1
  22. fi
  23. echo "Stoped OK!"
  24. echo "PID: $pid"

 

重新启动的脚本:

  1. #!/bin/sh
  2. echo "restart the application...."
  3. ./
  4. ./

在logs目录下面,有一个日志文件:

 

 

这个都是在shell脚本中我已经指定了的

 

上传好jar包之后,启动脚本

./

如下图:

 

启动完成后,访问:

 

 

可以看到访问是ok的