整理了启动脚本
This commit is contained in:
parent
1ecb424462
commit
4f2a53925e
102
mock.sh
Executable file
102
mock.sh
Executable file
@ -0,0 +1,102 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Mock服务管理脚本
|
||||
# 用法: ./mock.sh {start|stop|restart|status}
|
||||
|
||||
# 项目路径
|
||||
TOOLS_DIR="./tools"
|
||||
LOGS_DIR="./logs"
|
||||
|
||||
# 确保日志目录存在
|
||||
mkdir -p "$LOGS_DIR"
|
||||
|
||||
# 服务列表
|
||||
SERVICES=(
|
||||
"mock_airport.py"
|
||||
"mock_traffic_light.py"
|
||||
"mock_unmanned_vehicle.py"
|
||||
)
|
||||
|
||||
# 启动服务
|
||||
start() {
|
||||
echo "启动mock服务..."
|
||||
|
||||
cd "$TOOLS_DIR" || exit 1
|
||||
|
||||
for service in "${SERVICES[@]}"; do
|
||||
if pgrep -f "$service" > /dev/null; then
|
||||
echo " $service 已在运行"
|
||||
else
|
||||
case "$service" in
|
||||
"mock_airport.py")
|
||||
nohup python3 "$service" > "../$LOGS_DIR/airport.log" 2>&1 &
|
||||
;;
|
||||
"mock_traffic_light.py")
|
||||
nohup python3 "$service" > "../$LOGS_DIR/traffic_light.log" 2>&1 &
|
||||
;;
|
||||
"mock_unmanned_vehicle.py")
|
||||
nohup python3 "$service" > "../$LOGS_DIR/unmanned_vehicle.log" 2>&1 &
|
||||
;;
|
||||
esac
|
||||
echo " $service 已启动"
|
||||
fi
|
||||
done
|
||||
|
||||
cd - > /dev/null
|
||||
echo "所有mock服务启动完成"
|
||||
}
|
||||
|
||||
# 停止服务
|
||||
stop() {
|
||||
echo "停止mock服务..."
|
||||
|
||||
for service in "${SERVICES[@]}"; do
|
||||
if pkill -f "$service"; then
|
||||
echo " $service 已停止"
|
||||
else
|
||||
echo " $service 未运行"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "所有mock服务停止完成"
|
||||
}
|
||||
|
||||
# 重启服务
|
||||
restart() {
|
||||
stop
|
||||
sleep 2
|
||||
start
|
||||
}
|
||||
|
||||
# 检查服务状态
|
||||
status() {
|
||||
echo "检查mock服务状态..."
|
||||
|
||||
for service in "${SERVICES[@]}"; do
|
||||
if pgrep -f "$service" > /dev/null; then
|
||||
echo " $service: 运行中"
|
||||
else
|
||||
echo " $service: 已停止"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# 根据参数执行相应操作
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
status)
|
||||
status
|
||||
;;
|
||||
*)
|
||||
echo "用法: $0 {start|stop|restart|status}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
206
qaup.sh
206
qaup.sh
@ -1,174 +1,114 @@
|
||||
#!/bin/sh
|
||||
# ./qaup.sh start 启动 stop 停止 restart 重启 status 状态
|
||||
AppName=qaup-admin.jar
|
||||
|
||||
# 应用名称
|
||||
APP_NAME=qaup-admin.jar
|
||||
|
||||
# JVM参数
|
||||
JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
|
||||
JVM_OPTS="-Dname=$APP_NAME -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m"
|
||||
|
||||
# 应用目录和日志路径
|
||||
# 获取当前目录
|
||||
APP_HOME=`pwd`
|
||||
LOG_PATH=$APP_HOME/logs/$AppName.log
|
||||
|
||||
# 环境变量配置文件路径
|
||||
ENV_FILE=$APP_HOME/.env
|
||||
|
||||
# Spring Profile配置(生产环境使用prod,开发环境使用dev)
|
||||
# 可通过环境变量 SPRING_PROFILES_ACTIVE 覆盖,默认为 prod,druid
|
||||
SPRING_PROFILES=${SPRING_PROFILES_ACTIVE:-prod,druid}
|
||||
|
||||
if [ "$1" = "" ];
|
||||
then
|
||||
echo -e "\033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
|
||||
# 检查参数
|
||||
if [ "$1" = "" ]; then
|
||||
echo "用法: $0 {start|stop|restart|status}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$AppName" = "" ];
|
||||
then
|
||||
echo -e "\033[0;31m 未输入应用名 \033[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function start()
|
||||
{
|
||||
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
|
||||
|
||||
if [ x"$PID" != x"" ]; then
|
||||
echo "$AppName is running..."
|
||||
else
|
||||
# ========== 加载环境变量配置 ==========
|
||||
if [ -f "$ENV_FILE" ]; then
|
||||
echo "Loading environment variables from $ENV_FILE"
|
||||
# 导出环境变量,忽略注释行和空行
|
||||
export $(grep -v '^#' $ENV_FILE | grep -v '^
|
||||
|
||||
echo "Starting $AppName with profile: $SPRING_PROFILES"
|
||||
|
||||
# 启动应用,指定Spring Profile
|
||||
nohup java $JVM_OPTS -jar $AppName --spring.profiles.active=$SPRING_PROFILES > /dev/null 2>&1 &
|
||||
|
||||
echo "Start $AppName success..."
|
||||
fi
|
||||
}
|
||||
|
||||
function stop()
|
||||
{
|
||||
echo "Stop $AppName"
|
||||
|
||||
PID=""
|
||||
query(){
|
||||
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
|
||||
}
|
||||
|
||||
query
|
||||
if [ x"$PID" != x"" ]; then
|
||||
kill -TERM $PID
|
||||
echo "$AppName (pid:$PID) exiting..."
|
||||
while [ x"$PID" != x"" ]
|
||||
do
|
||||
sleep 1
|
||||
query
|
||||
# 加载环境变量
|
||||
load_env() {
|
||||
if [ -f "$ENV_FILE" ]; then
|
||||
echo "加载环境变量配置: $ENV_FILE"
|
||||
# 使用更兼容的方式加载环境变量
|
||||
grep -v '^#' "$ENV_FILE" | grep -v '^$' | while IFS= read -r line; do
|
||||
export "$line"
|
||||
done
|
||||
echo "$AppName exited."
|
||||
echo "环境变量加载完成"
|
||||
else
|
||||
echo "$AppName already stopped."
|
||||
echo "警告: 未找到环境配置文件 $ENV_FILE,使用默认配置"
|
||||
fi
|
||||
}
|
||||
|
||||
function restart()
|
||||
{
|
||||
stop
|
||||
# 启动应用
|
||||
start() {
|
||||
# 检查进程是否已运行
|
||||
if pgrep -f "$APP_NAME" > /dev/null; then
|
||||
echo "$APP_NAME 已在运行"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# 加载环境变量
|
||||
load_env
|
||||
|
||||
echo "正在启动 $APP_NAME..."
|
||||
|
||||
# 启动应用
|
||||
nohup java $JVM_OPTS -jar "$APP_NAME" > /dev/null 2>&1 &
|
||||
|
||||
# 等待一会儿检查是否启动成功
|
||||
sleep 2
|
||||
start
|
||||
}
|
||||
|
||||
function status()
|
||||
{
|
||||
PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
|
||||
if [ $PID != 0 ];then
|
||||
echo "$AppName is running..."
|
||||
if pgrep -f "$APP_NAME" > /dev/null; then
|
||||
echo "$APP_NAME 启动成功"
|
||||
else
|
||||
echo "$AppName is not running..."
|
||||
echo "$APP_NAME 启动失败,请检查日志"
|
||||
fi
|
||||
}
|
||||
|
||||
case $1 in
|
||||
start)
|
||||
start;;
|
||||
stop)
|
||||
stop;;
|
||||
restart)
|
||||
restart;;
|
||||
status)
|
||||
status;;
|
||||
*)
|
||||
echo -e "\033[0;31m 未知操作 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
|
||||
esac
|
||||
| xargs)
|
||||
echo "Environment variables loaded successfully"
|
||||
else
|
||||
echo "Warning: $ENV_FILE not found, using default configuration"
|
||||
# 停止应用
|
||||
stop() {
|
||||
echo "正在停止 $APP_NAME..."
|
||||
|
||||
# 查找进程ID
|
||||
PID=$(pgrep -f "$APP_NAME")
|
||||
|
||||
if [ -n "$PID" ]; then
|
||||
kill "$PID"
|
||||
sleep 3
|
||||
# 如果进程仍未停止,强制杀死
|
||||
if pgrep -f "$APP_NAME" > /dev/null; then
|
||||
kill -9 "$PID"
|
||||
fi
|
||||
# ========================================
|
||||
|
||||
echo "Starting $AppName with profile: $SPRING_PROFILES"
|
||||
|
||||
# 启动应用,指定Spring Profile
|
||||
nohup java $JVM_OPTS -jar $AppName --spring.profiles.active=$SPRING_PROFILES > /dev/null 2>&1 &
|
||||
|
||||
echo "Start $AppName success..."
|
||||
fi
|
||||
}
|
||||
|
||||
function stop()
|
||||
{
|
||||
echo "Stop $AppName"
|
||||
|
||||
PID=""
|
||||
query(){
|
||||
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
|
||||
}
|
||||
|
||||
query
|
||||
if [ x"$PID" != x"" ]; then
|
||||
kill -TERM $PID
|
||||
echo "$AppName (pid:$PID) exiting..."
|
||||
while [ x"$PID" != x"" ]
|
||||
do
|
||||
sleep 1
|
||||
query
|
||||
done
|
||||
echo "$AppName exited."
|
||||
echo "$APP_NAME 已停止"
|
||||
else
|
||||
echo "$AppName already stopped."
|
||||
echo "$APP_NAME 未运行"
|
||||
fi
|
||||
}
|
||||
|
||||
function restart()
|
||||
{
|
||||
# 重启应用
|
||||
restart() {
|
||||
stop
|
||||
sleep 2
|
||||
start
|
||||
}
|
||||
|
||||
function status()
|
||||
{
|
||||
PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
|
||||
if [ $PID != 0 ];then
|
||||
echo "$AppName is running..."
|
||||
# 检查状态
|
||||
status() {
|
||||
if pgrep -f "$APP_NAME" > /dev/null; then
|
||||
echo "$APP_NAME 正在运行"
|
||||
else
|
||||
echo "$AppName is not running..."
|
||||
echo "$APP_NAME 未运行"
|
||||
fi
|
||||
}
|
||||
|
||||
case $1 in
|
||||
# 根据参数执行相应操作
|
||||
case "$1" in
|
||||
start)
|
||||
start;;
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop;;
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
restart;;
|
||||
restart
|
||||
;;
|
||||
status)
|
||||
status;;
|
||||
status
|
||||
;;
|
||||
*)
|
||||
echo -e "\033[0;31m 未知操作 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
|
||||
esac
|
||||
echo "用法: $0 {start|stop|restart|status}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Loading…
Reference in New Issue
Block a user