【jar包启动命令简单分享】

最近在做springcloud项目,整理了下启停脚本

批量启动脚本


#!/bin/bash

APP_HOME=/data/java/
APP_NAMES=(
    "ruoyi-auth.jar"
    "ruoyi-gateway.jar"
    "ruoyi-modules-file.jar"
    "ruoyi-modules-gen.jar"
    "ruoyi-modules-job.jar"
)
MEMORY_PARAMS=(
    "-Xms256m -Xmx512m"
    "-Xms256m -Xmx512m"
    "-Xms256m -Xmx512m"
    "-Xms256m -Xmx512m"
    "-Xms256m -Xmx512m"
)

function start() {
    echo "启动中"
    cd $APP_HOME
    for ((i = 0; i < ${#APP_NAMES[@]}; i++)); do
        APP_NAME=${APP_NAMES[$i]}
        MEMORY_PARAM=${MEMORY_PARAMS[$i]}
        LOG_FILE="/data/logs/nohup-$(basename $APP_NAME .jar)-$(date +%Y-%m-%d).log"
        nohup java -jar $MEMORY_PARAM $APP_NAME >> $LOG_FILE 2>&1 &
    done
    echo "启动成功"
}

function stop() {
    echo "正在关闭"
    for APP_NAME in "${APP_NAMES[@]}"; do
        pkill -f $APP_NAME
        while pgrep -f $APP_NAME > /dev/null; do
            sleep 1
        done
    done
    echo "关闭成功"
}

if [ "$1" = "start" ]; then
    start
elif [ "$1" = "stop" ]; then
    stop
elif [ "$1" = "restart" ]; then
    stop
    sleep 3
    start
else
    echo "Usage: $0 [start|stop|restart]"
fi

单个jar包启动名称

#!/bin/bash

APP_HOME=/data/java/
APP_NAME=**.jar

function get_log_file() {
    local app_base_name=$(basename "$APP_NAME" .jar)
    echo "/data/logs/nohup-$app_base_name-$(date +%Y-%m-%d).log"
}

function start() {
    echo "$APP_HOME $APP_NAME 启动中"
    cd "$APP_HOME" || return
    local LOG_FILE=$(get_log_file)
    nohup java -jar -Xms256m -Xmx512m "$APP_NAME" >> "$LOG_FILE" 2>&1 &
    echo "$APP_NAME 启动成功"
    # 非阻塞方式查看日志
    (sleep 5; tail -n 20 "$LOG_FILE") &
}

function stop() {
    echo "$APP_NAME 正在关闭"
    pkill -f "$APP_NAME"
    while pgrep -f "$APP_NAME" > /dev/null; do
        sleep 1
    done
    echo "$APP_NAME 关闭成功"
}

if [ "$1" = "start" ]; then
    start
elif [ "$1" = "stop" ]; then
    stop
elif [ "$1" = "restart" ]; then
    stop
    sleep 3
    start
else
    echo "Usage: $0 [start|stop|restart]"
fi

后续有时间再研究docker+k8s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

boJIke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值