#### # Windows 部署脚本

只需要把 jar 和 yml 跟脚本放在同一目录下即可快速启动。

拷贝以下代码放入 txt 文本，然后改为 start.sh

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46

    #!/bin/bash

    export CLOUD_HOME=`pwd`

    # 获取当前目录中的第一个JAR文件的名称
    jar_file=$(find . -maxdepth 1 -type f -name "*.jar" | head -n 1)

    if [ -n "$jar_file" ]; then
        jar_file=${jar_file#./}
        #echo "JAR文件的名称是: $jar_file"
        jar_file_name=$(basename "$jar_file" .jar)
    else
        echo "当前目录没有JAR文件."
        exit
    fi

    # 获取当前目录中的第一个yml文件的名称
    yml_file=$(find . -maxdepth 1 -type f -name "*.yml" | head -n 1)

    if [ -n "$yml_file" ]; then
        yml_file=${yml_file#./}
        #echo "YML文件的名称是: $yml_file"
    else
        echo "当前目录中没有YML文件."
    fi

    pids=$(ps -ef | grep java | grep $jar_file_name | grep -v grep | awk '{print $2}')

    for pid in $pids; do
        echo "$jar_file_name is running, pid="$pid
        exit 0
    done

    echo "$jar_file_name is pedding..."

    sleep 3

    JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -Dfile.encoding=UTF8"
    JAVA_OPTS="$JAVA_OPTS -Dsun.jnu.encoding=UTF8 -Xms512m -Xmx1024m"
    JAVA_OPTS="$JAVA_OPTS -Dpid.path=$CLOUD_HOME/temp -Dspring.config.additional-location=$CLOUD_HOME/$yml_file"
    JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5007"

    nohup java $JAVA_OPTS -jar $CLOUD_HOME/$jar_file >/dev/null 2> $CLOUD_HOME/$jar_file_name.run &
    #nohup java $JAVA_OPTS -jar $CLOUD_HOME/$jar_file > $CLOUD_HOME/$jar_file_name.run 2>&1 &

    echo "$jar_file_name started."

拷贝以下代码放入 txt 文本，然后改为 stop.sh

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37

    #!/bin/bash

    export CLOUD_HOME=`pwd`

    # 获取当前目录中的第一个JAR文件的名称
    jar_file=$(find . -maxdepth 1 -type f -name "*.jar" | head -n 1)

    if [ -n "$jar_file" ]; then
        jar_file=${jar_file#./}
        #echo "JAR文件的名称是: $jar_file"
        jar_file_name=$(basename "$jar_file" .jar)
    else
        echo "当前目录没有JAR文件."
        exit
    fi

    # 获取当前目录中的第一个yml文件的名称
    yml_file=$(find . -maxdepth 1 -type f -name "*.yml" | head -n 1)

    if [ -n "$yml_file" ]; then
        yml_file=${yml_file#./}
        #echo "YML文件的名称是: $yml_file"
    else
        echo "当前目录中没有YML文件."
    fi

    pids=$(ps -ef | grep java | grep $jar_file_name | grep -v grep | awk '{print $2}')

    for pid in $pids; do
        kill -9 $pid
    done

    echo "$jar_file_name is stopping..."

    sleep 5

    echo "$jar_file_name stopped."

Linux SpringBoot 快速部署 bash