diff --git a/management/workflow/scripts/agent_auto_start.sh b/management/workflow/scripts/agent_auto_start.sh index e022829a3..0c6bf3186 100755 --- a/management/workflow/scripts/agent_auto_start.sh +++ b/management/workflow/scripts/agent_auto_start.sh @@ -11,27 +11,29 @@ if [ -z "$AGENT_NAME" ]; then fi # 项目目录:自动检测脚本所在位置,不需要硬编码 +# SCRIPT_DIR: .../sanguo_quant_live/management/workflow/scripts +# 三次 dirname 回到项目根目录 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -PROJECT_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")/../../.." +PROJECT_ROOT="$(dirname "$(dirname "$(dirname "$SCRIPT_DIR")")")" cd "$PROJECT_ROOT" || { echo "❌ 无法进入项目目录: $PROJECT_ROOT" exit 1 } # 检查是否已经运行 -if ps aux | grep "agent_monitor_gitpull.sh $AGENT_NAME" | grep -v grep | grep -q .; then +if ps aux | grep "agent_monitor_fixed.sh $AGENT_NAME" | grep -v grep | grep -q .; then echo "✅ $AGENT_NAME 监控已经在运行" exit 0 fi -# 启动改进版监控(带自动git pull) +# 启动全自动化监控(集成git pull/处理/git push) echo "🚀 启动 $AGENT_NAME 监控..." -nohup ./management/workflow/scripts/agent_monitor_gitpull.sh "$AGENT_NAME" > "${AGENT_NAME}_monitor.log" 2>&1 & +nohup ./management/workflow/scripts/agent_monitor_fixed.sh "$AGENT_NAME" > "${AGENT_NAME}_monitor.log" 2>&1 & # 检查是否启动成功 sleep 1 -if ps aux | grep -q "agent_monitor_gitpull.sh $AGENT_NAME" | grep -v grep; then - PID=$(ps aux | grep "agent_monitor_gitpull.sh $AGENT_NAME" | grep -v grep | awk '{print $2}') +if ps aux | grep "agent_monitor_fixed.sh $AGENT_NAME" | grep -v grep | grep -q .; then + PID=$(ps aux | grep "agent_monitor_fixed.sh $AGENT_NAME" | grep -v grep | awk '{print $2}') echo "✅ $AGENT_NAME 监控启动成功" echo "🆔 PID: $PID" echo "📝 日志: ${AGENT_NAME}_monitor.log" diff --git a/management/workflow/scripts/agent_monitor_fixed.sh b/management/workflow/scripts/agent_monitor_fixed.sh index 1e107f9a3..d69161094 100755 --- a/management/workflow/scripts/agent_monitor_fixed.sh +++ b/management/workflow/scripts/agent_monitor_fixed.sh @@ -11,8 +11,10 @@ if [ -z "$AGENT" ]; then fi # 自动检测项目根目录 +# SCRIPT_DIR: .../sanguo_quant_live/management/workflow/scripts +# 三次 dirname 回到项目根目录 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -PROJECT_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")/../.." +PROJECT_ROOT="$(dirname "$(dirname "$(dirname "$SCRIPT_DIR")")")" cd "$PROJECT_ROOT" || { echo "❌ 错误:无法进入项目目录 $PROJECT_ROOT" exit 1 diff --git a/management/workflow/scripts/agent_monitor_gitpull.sh b/management/workflow/scripts/agent_monitor_gitpull.sh index 42f44f1da..f97db6d44 100755 --- a/management/workflow/scripts/agent_monitor_gitpull.sh +++ b/management/workflow/scripts/agent_monitor_gitpull.sh @@ -13,8 +13,10 @@ if [ -z "$AGENT_NAME" ]; then fi # 项目根目录(自动检测,基于脚本位置) +# SCRIPT_DIR: .../sanguo_quant_live/management/workflow/scripts +# 三次 dirname 回到项目根目录 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -PROJECT_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")/../.." +PROJECT_ROOT="$(dirname "$(dirname "$(dirname "$SCRIPT_DIR")")")" cd "$PROJECT_ROOT" || { echo "❌ 错误:无法进入项目目录 $PROJECT_ROOT" exit 1