开发者

linux部署springBoot项目的脚本问题

开发者 https://www.devze.com 2025-05-20 10:40 出处:网络 作者: zilin-lynn
目录linux部署springBoot项目的脚本重启 restart.sh停止 stop.sh总结linux部署springBoot项目的脚本
目录
  • linux部署springBoot项目的脚本
    • 重启 restart.sh
    • 停止 stop.sh
  • 总结

    linux部署springBoot项目的脚本

    重启 restart.sh

    #!/bin/bash
    
    # 定义变量
    JAR_NAME="xxx.jarhttp://www.devze.com"
    LOG_DIR="logs/xxx"
    
    # 创建日志目录
    mkdir -p "$LOG_DIR"
    
    # 查找占用端口的进程ID
    PID=$(ps --no-heading -C Java -f --width 1000 | grep $JAR_NAME | awk '{print $2}')
    
    echo "PID: ${PID:-未找到}"
    
    echo "Restarting service..."
    
    # 停止进程
    if [ -n "$PID" ]; then
        echo "Stopping existing process (PID: $PID)..."
        kill -9 "$PID" > /dev/null 2&gjst;&1
    fi
    
    # 等待2秒
    sleep 2
    
    # 启动新进程
    echo "Starting application..."
    nohup java -jar "$JAR_NAME" >> "$LOG_DIR/app.log" 2>&1 &
    
    # 检查是否启动成功
    if [ $? -eq 0 ]; then
        echo "ApzhvaXfplication started successfully"
        echo "PID: $!"
    else
        echo "Failhttp://www.devze.comed to start application"
        exit 1
    fi
    
    # 保持终端不退出
    read -p "Press any key to continue..." -n1 -s

    停止 stop.sh

    #!/bin/bash
    
    JAR_NAME="xxx.jar"
    
    # 获取监听该端口的进程PID
    PID=$(ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}')
    
    echo "PID: ${PID:-未找到}"
    
    if [ -z "$PID" ]; then
        echo "PID not found. Server may not be running."
    else
        echo "Stopping existing process (PID: $PID)..."
        kill -9 "$PID" > /dev/null 2>&1
        # 检查是否成功
        if [ $? -eq 0 ]; then
            echo "Stop Success!"
        else
            echo "Failed编程客栈 to stop the server."
        fi
    fi
    
    read -p "Press any key to continue..." -n1 -s
    

    说明:

    maven打包时,可以将脚本打包跟jar包在同一个目录

       <fileSet>
         <directory>bin/linux</directory>
         <includes>
           <include>restart.sh</include>
           <include>stop.sh</include>
         </includes>
         <outputDirectory>/</outputDirectory>
       </fileSet>

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号