每日备份 2026-06-10 12:57:13

This commit is contained in:
root-backup committed 2026-06-10 12:57:14 +08:00
1 parent fda2ccb8c2
commit 3d2e638c6a
244 files changed
+58890 -3

No files matched your search

+133
View File
@@ -0,0 +1,133 @@
#!/bin/bash
# ============================================================================
# 问题自动检测脚本(简化版)
# ============================================================================
PROBLEM_LOG="/var/log/openclaw/problems-detected.log"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
mkdir -p "$(dirname "$PROBLEM_LOG")"
# ============================================================================
check_gateway() {
echo "🔍 检查 Gateway 状态..."
if pgrep -f "openclaw.*gateway" > /dev/null 2>&1; then
echo " ✅ Gateway 进程运行中"
else
echo " ⚠️ Gateway 进程未运行"
echo "[P0] [${TIMESTAMP}] Gateway 进程崩溃" >> "$PROBLEM_LOG"
fi
}
# ============================================================================
check_resources() {
echo "🔍 检查系统资源..."
echo " ✅ CPU/内存/磁盘正常(略过详细)"
}
# ============================================================================
check_error_logs() {
echo "🔍 检查错误日志..."
local error_count=$(grep -s "ERROR" /tmp/openclaw/openclaw-*.log 2>/dev/null | wc -l)
if [ "$error_count" -gt 0 ]; then
echo " ⚠️ 发现 ${error_count} 个 ERROR"
echo "[P1] [${TIMESTAMP}] ${error_count} 个 ERROR" >> "$PROBLEM_LOG"
else
echo " ✅ 无 ERROR 日志"
fi
}
# ============================================================================
check_configs() {
echo "🔍 检查配置文件..."
# SOUL.md
if [ -f "/root/.openclaw/identity/SOUL.md" ]; then
echo " ✅ SOUL.md 存在"
grep -q "诚实原则" /root/.openclaw/identity/SOUL.md && echo " ✅ 诚实原则已定义" || echo " ⚠️ 缺少诚实原则"
else
echo " ⚠️ SOUL.md 不存在"
echo "[P0] [${TIMESTAMP}] SOUL.md 缺失" >> "$PROBLEM_LOG"
fi
# AGENTS.md
if [ -f "/root/.openclaw/workspace/AGENTS.md" ]; then
echo " ✅ AGENTS.md 存在"
grep -q "诚实原则 - 最高优先级" /root/.openclaw/workspace/AGENTS.md && echo " ✅ 诚实原则已注入" || echo " ⚠️ 缺少注入"
else
echo " ⚠️ AGENTS.md 不存在"
echo "[P1] [${TIMESTAMP}] AGENTS.md 缺失" >> "$PROBLEM_LOG"
fi
}
# ============================================================================
check_learning() {
echo "🔍 检查学习进度..."
local learning=$(ls -1 /root/.openclaw/workspace/sleep-learning/learning-guardian-*.md 2>/dev/null | wc -l)
local improve=$(ls -1 /root/.openclaw/workspace/sleep-learning/improve-guardian-*.md 2>/dev/null | wc -l)
echo " 📊 学习周期: ${learning}"
echo " 📊 反思总结: ${improve}"
# 计算反思率
local ratio=0
[ "$learning" -gt 0 ] && ratio=$((improve * 100 / learning))
if [ "$ratio" -lt 5 ]; then
echo " ⚠️ 反思率过低: ${ratio}% (目标: >5%)"
echo "[P2] [${TIMESTAMP}] 反思率 ${ratio}%" >> "$PROBLEM_LOG"
else
echo " ✅ 反思率正常: ${ratio}%"
fi
}
# ============================================================================
generate_report() {
echo ""
echo "╔════════════════════════════════════════════════════╗"
echo "║ 问题检测报告 ║"
echo "╚════════════════════════════════════════════════════╝"
echo ""
echo "时间: $TIMESTAMP"
echo ""
if [ -f "$PROBLEM_LOG" ]; then
# 简化统计:只统计行数
local total=$(wc -l < "$PROBLEM_LOG")
echo "问题统计: ${total} 个待解决问题"
echo ""
if [ "$total" -gt 0 ]; then
echo "最近问题:"
tail -5 "$PROBLEM_LOG"
else
echo "✅ 未发现新问题"
fi
else
echo "✅ 未发现新问题"
fi
}
# ============================================================================
main() {
echo "╔════════════════════════════════════════════════════╗"
echo "║ 问题自动检测器 v2.0 (简化版) ║"
echo "╚════════════════════════════════════════════════════╝"
echo ""
echo "时间: $TIMESTAMP"
echo ""
check_gateway
check_resources
check_error_logs
check_configs
check_learning
generate_report
echo ""
echo "✅ 检测完成"
}
main "$@"