最近在做springcloud项目,整理了下启停脚本
批量启动脚本
#!/bin/bashAPP_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_HOMEfor ((i = 0; i < ${#APP_NAMES[@]}; i++)); doAPP_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 &doneecho "启动成功"
}function stop() {echo "正在关闭"for APP_NAME in "${APP_NAMES[@]}"; dopkill -f $APP_NAMEwhile pgrep -f $APP_NAME > /dev/null; dosleep 1donedoneecho "关闭成功"
}if [ "$1" = "start" ]; thenstart
elif [ "$1" = "stop" ]; thenstop
elif [ "$1" = "restart" ]; thenstopsleep 3start
elseecho "Usage: $0 [start|stop|restart]"
fi
单个jar包启动名称
#!/bin/bashAPP_HOME=/data/java/
APP_NAME=**.jarfunction 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" || returnlocal 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; dosleep 1doneecho "$APP_NAME 关闭成功"
}if [ "$1" = "start" ]; thenstart
elif [ "$1" = "stop" ]; thenstop
elif [ "$1" = "restart" ]; thenstopsleep 3start
elseecho "Usage: $0 [start|stop|restart]"
fi
后续有时间再研究docker+k8s