分享一份启动,关闭,重启springboot项目的shell脚本

写在前面

近期,公司要求在服务器上的项目要做一些调整,都统一变成一下结构

- conf目录
- lib目录
- log目录
- script目录

conf 目录主要存放spring boot的配置文件,可以变更对应的配置数据
lib 目录存放的是已经打好版本的spring boot 可执行jar包
log 目录存放的是对应系统产生的系统日志
script 目录存放的是启动系统的脚本

在这里插入图片描述
shell 源码如下:

#!/bin/bash
    #jar名称
    **APP_NAME=../lib/a.jar** # 这块替换为你的jar包即可
    CONFIG_NAME=../conf/application.properties
    #使用说明,用来提示输入参数
    usage() {
        echo "Usage: sh a.sh [start|stop|restart|status]" # a.sh 为这个脚本名称 替换为你喜欢的名称即可
        exit 1
    }
    
    #检查程序是否在运行
    is_exist() { 
        pid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}' `
        #如果不存在返回1,存在返回0
        if [ -z "${pid}" ]; then
          return 1
        else
          return 0
        fi
    }
    
    #启动方法
    start() {
       is_exist
       if [ $? -eq "0" ]; then
         echo "${APP_NAME} is already running. pid=${pid} ."
       else
         nohup java -jar -Dspring.config.location=$CONFIG_NAME $APP_NAME > /dev/null 2>&1 &
       fi
    }
    
    #停止方法
    stop() {
       is_exist
       if [ $? -eq "0" ]; then
         kill -9 $pid
       else
         echo "${APP_NAME} is not running"
       fi
    }
    
    #输出运行状态
    status() {
       is_exist
       if [ $? -eq "0" ]; then
         echo "${APP_NAME} is running. Pid is ${pid}"
       else
         echo "${APP_NAME} is not running."
       fi
    }
    
    #重启
    restart() {
       stop
       start
    }
    
    #根据输入参数,选择执行对应方法,不输入则执行使用说明
    case "$1" in
       "start")
         start
         ;;
       "stop")
         stop
         ;;
       "status")
         status
         ;;
       "restart")
         restart
         ;;
       *)
         usage
         ;;
    esac

使用命令

sh a.sh [start|stop|restart|status]
使用Shell脚本来运行Spring Boot项目可以提高工作效率。以下是一个示例启动脚本: ``` #!/bin/sh export JAVA_HOME=/path/to/java/home # 设置项目路径 APP_HOME=/path/to/your/springboot/project # 设置***志文件路径 LOG_FILE=$APP_HOME/logs/application.log # 启动命令 start() { nohup $JAVA_HOME/bin/java -jar $APP_HOME/your-springboot-project.jar > $LOG_FILE 2>&1 & echo "Spring Boot应用已启动" } # 停止命令 stop() { pid=$(ps -ef | grep your-springboot-project.jar | grep -v grep | awk '{print $2}') if [ -n "$pid" ]; then kill -9 $pid echo "Spring Boot应用已停止" else echo "Spring Boot应用未运行" fi } # 重启命令 restart() { stop start } # 根据命令参数执行相应操作 case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac ``` 以上脚本假设你已经设置了JAVA_HOME环境变量,并将你的Spring Boot项目的路径和日志文件路径分别设置为`APP_HOME`和`LOG_FILE`。通过执行不同的命令参数(start、stop、restart),你可以启动、停止或重启Spring Boot应用。 使用这个脚本的步骤如下: 1. 将脚本保存为.sh文件,例如`your-script.sh`。 2. 在终端中导航到脚本所在的目录。 3. 给脚本文件添加执行权限,命令为`chmod +x your-script.sh`。 4. 执行脚本命令,例如`./your-script.sh start`。 这样就可以通过Shell脚本来方便地运行你的Spring Boot项目了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Spring Boot 项目打包 + Shell 脚本部署实践,太有用了!](https://blog.csdn.net/emprere/article/details/107273764)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [centos7下启动springboot项目启动脚本shell脚本)](https://download.csdn.net/download/weixin_38530415/14069047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值