整理了启动脚本
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
|
#!/bin/sh
|
||||||
# ./qaup.sh start 启动 stop 停止 restart 重启 status 状态
|
|
||||||
AppName=qaup-admin.jar
|
# 应用名称
|
||||||
|
APP_NAME=qaup-admin.jar
|
||||||
|
|
||||||
# JVM参数
|
# 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`
|
APP_HOME=`pwd`
|
||||||
LOG_PATH=$APP_HOME/logs/$AppName.log
|
|
||||||
|
|
||||||
# 环境变量配置文件路径
|
# 环境变量配置文件路径
|
||||||
ENV_FILE=$APP_HOME/.env
|
ENV_FILE=$APP_HOME/.env
|
||||||
|
|
||||||
# Spring Profile配置(生产环境使用prod,开发环境使用dev)
|
# 检查参数
|
||||||
# 可通过环境变量 SPRING_PROFILES_ACTIVE 覆盖,默认为 prod,druid
|
if [ "$1" = "" ]; then
|
||||||
SPRING_PROFILES=${SPRING_PROFILES_ACTIVE:-prod,druid}
|
echo "用法: $0 {start|stop|restart|status}"
|
||||||
|
|
||||||
if [ "$1" = "" ];
|
|
||||||
then
|
|
||||||
echo -e "\033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$AppName" = "" ];
|
# 加载环境变量
|
||||||
then
|
load_env() {
|
||||||
echo -e "\033[0;31m 未输入应用名 \033[0m"
|
if [ -f "$ENV_FILE" ]; then
|
||||||
exit 1
|
echo "加载环境变量配置: $ENV_FILE"
|
||||||
fi
|
# 使用更兼容的方式加载环境变量
|
||||||
|
grep -v '^#' "$ENV_FILE" | grep -v '^$' | while IFS= read -r line; do
|
||||||
function start()
|
export "$line"
|
||||||
{
|
|
||||||
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
|
|
||||||
done
|
done
|
||||||
echo "$AppName exited."
|
echo "环境变量加载完成"
|
||||||
else
|
else
|
||||||
echo "$AppName already stopped."
|
echo "警告: 未找到环境配置文件 $ENV_FILE,使用默认配置"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function restart()
|
# 启动应用
|
||||||
{
|
start() {
|
||||||
stop
|
# 检查进程是否已运行
|
||||||
|
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
|
sleep 2
|
||||||
start
|
if pgrep -f "$APP_NAME" > /dev/null; then
|
||||||
}
|
echo "$APP_NAME 启动成功"
|
||||||
|
|
||||||
function status()
|
|
||||||
{
|
|
||||||
PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
|
|
||||||
if [ $PID != 0 ];then
|
|
||||||
echo "$AppName is running..."
|
|
||||||
else
|
else
|
||||||
echo "$AppName is not running..."
|
echo "$APP_NAME 启动失败,请检查日志"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
case $1 in
|
# 停止应用
|
||||||
start)
|
stop() {
|
||||||
start;;
|
echo "正在停止 $APP_NAME..."
|
||||||
stop)
|
|
||||||
stop;;
|
# 查找进程ID
|
||||||
restart)
|
PID=$(pgrep -f "$APP_NAME")
|
||||||
restart;;
|
|
||||||
status)
|
if [ -n "$PID" ]; then
|
||||||
status;;
|
kill "$PID"
|
||||||
*)
|
sleep 3
|
||||||
echo -e "\033[0;31m 未知操作 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
|
# 如果进程仍未停止,强制杀死
|
||||||
esac
|
if pgrep -f "$APP_NAME" > /dev/null; then
|
||||||
| xargs)
|
kill -9 "$PID"
|
||||||
echo "Environment variables loaded successfully"
|
|
||||||
else
|
|
||||||
echo "Warning: $ENV_FILE not found, using default configuration"
|
|
||||||
fi
|
fi
|
||||||
# ========================================
|
echo "$APP_NAME 已停止"
|
||||||
|
|
||||||
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."
|
|
||||||
else
|
else
|
||||||
echo "$AppName already stopped."
|
echo "$APP_NAME 未运行"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function restart()
|
# 重启应用
|
||||||
{
|
restart() {
|
||||||
stop
|
stop
|
||||||
sleep 2
|
sleep 2
|
||||||
start
|
start
|
||||||
}
|
}
|
||||||
|
|
||||||
function status()
|
# 检查状态
|
||||||
{
|
status() {
|
||||||
PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
|
if pgrep -f "$APP_NAME" > /dev/null; then
|
||||||
if [ $PID != 0 ];then
|
echo "$APP_NAME 正在运行"
|
||||||
echo "$AppName is running..."
|
|
||||||
else
|
else
|
||||||
echo "$AppName is not running..."
|
echo "$APP_NAME 未运行"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
case $1 in
|
# 根据参数执行相应操作
|
||||||
|
case "$1" in
|
||||||
start)
|
start)
|
||||||
start;;
|
start
|
||||||
|
;;
|
||||||
stop)
|
stop)
|
||||||
stop;;
|
stop
|
||||||
|
;;
|
||||||
restart)
|
restart)
|
||||||
restart;;
|
restart
|
||||||
|
;;
|
||||||
status)
|
status)
|
||||||
status;;
|
status
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo -e "\033[0;31m 未知操作 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
|
echo "用法: $0 {start|stop|restart|status}"
|
||||||
esac
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Loading…
Reference in New Issue
Block a user