45 lines
1.3 KiB
Bash
Executable File
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"
|