fix: 统一修复路径计算错误,按照庞统的修正:三次dirname正确回到项目根目录

This commit is contained in:
cfdaily
2026-03-23 10:38:13 +08:00
parent e6e3bca404
commit e80cc914b7
3 changed files with 14 additions and 8 deletions
@@ -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"
@@ -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
@@ -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