#!/bin/bash # 自动化备份脚本 # 每天凌晨 3:30 自动执行 BACKUP_DIR="/root/.openclaw/workspace" REPO_DIR="/root/.openclaw/workspace/openclaw-memory" LOG_FILE="/root/.openclaw/workspace/backup.log" echo "================================" >> "$LOG_FILE" echo "备份开始: $(date)" >> "$LOG_FILE" # 1. 复制配置文件 echo "📁 复制配置文件..." >> "$LOG_FILE" cp "$BACKUP_DIR/MEMORY.md" "$REPO_DIR/" 2>/dev/null cp "$BACKUP_DIR/SYSTEM.md" "$REPO_DIR/" 2>/dev/null # 2. 同步到 GitHub echo "🔄 同步到 GitHub..." >> "$LOG_FILE" cd "$REPO_DIR" git add MEMORY.md SYSTEM.md 2>/dev/null # 检查是否有变化 if git diff --cached --quiet; then echo "✅ 无新变化,跳过提交" >> "$LOG_FILE" else git commit -m "backup: $(date '+%Y-%m-%d %H:%M')" >> "$LOG_FILE" 2>&1 git push origin main >> "$LOG_FILE" 2>&1 echo "✅ 备份完成" >> "$LOG_FILE" fi # 3. 检查磁盘空间 DISK_USAGE=$(df -h /root/.openclaw/workspace | tail -1 | awk '{print $5}' | tr -d '%') echo "💾 磁盘使用率: ${DISK_USAGE}%" >> "$LOG_FILE" # 4. 检查 GitHub 同步状态 git remote get-url origin >/dev/null 2>&1 if [ $? -eq 0 ]; then echo "✅ GitHub 远程仓库正常" >> "$LOG_FILE" else echo "❌ GitHub 远程仓库异常" >> "$LOG_FILE" fi echo "备份完成: $(date)" >> "$LOG_FILE" echo "" >> "$LOG_FILE"