Files
server-configs/auto_backup.sh
2026-02-13 22:24:27 +08:00

45 lines
1.3 KiB
Bash
Executable File

#!/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"