42 lines
1.4 KiB
Bash
Executable File
42 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Agent自动启动监控脚本 - 改进版:使用带自动git pull的监控脚本
|
|
# 当Agent启动时,自动启动监控脚本(带自动git pull)
|
|
|
|
AGENT_NAME="$1"
|
|
|
|
if [ -z "$AGENT_NAME" ]; then
|
|
echo "使用方法: ./agent_auto_start.sh <agent-name>"
|
|
echo "例如: ./agent_auto_start.sh pangtong"
|
|
exit 1
|
|
fi
|
|
|
|
# 项目目录:自动检测脚本所在位置,不需要硬编码
|
|
# scripts -> workflow -> management -> 项目根目录(向上跳3级)
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(dirname "$(dirname "$(dirname "$SCRIPT_DIR")")")"
|
|
cd "$PROJECT_ROOT" || {
|
|
echo "❌ 无法进入项目目录: $PROJECT_ROOT"
|
|
exit 1
|
|
}
|
|
|
|
# 检查是否已经运行
|
|
if ps aux | grep "agent_monitor_fixed.sh $AGENT_NAME" | grep -v grep | grep -q .; then
|
|
echo "✅ $AGENT_NAME 监控已经在运行"
|
|
exit 0
|
|
fi
|
|
|
|
# 启动全自动化监控(集成git pull + 任务发现 + 自动推送)
|
|
echo "🚀 启动 $AGENT_NAME 监控..."
|
|
nohup ./management/workflow/scripts/agent_monitor_fixed.sh "$AGENT_NAME" > "${AGENT_NAME}_monitor.log" 2>&1 &
|
|
|
|
# 检查是否启动成功
|
|
sleep 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"
|
|
else
|
|
echo "❌ $AGENT_NAME 监控启动失败"
|
|
fi
|