【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