Skip to content

11.6 备份与同步


想象一下这个场景:

你用了三个月 OpenClaw,积累了:

  • 20+ 个客户的详细信息
  • 10+ 个项目的完整历史
  • 你的所有偏好和习惯设定

某天早上,你的硬盘坏了。

所有的 MEMORY.md、所有的 memory/ 日志,全部消失。

三个月的心血,化为乌有。

这就是备份的重要性——你的 AI 记忆越来越重要,必须保护好。

这一节,我们用 15 分钟,建立完整的备份与同步方案。


准备工作

开始前,确认你有:

  • [x] OpenClaw 已运行一段时间(有需要备份的内容)
  • [x] GitHub 账号(或其他 Git 托管平台)
  • [x] 约 15 分钟时间

第一步:理解备份策略

1.1 为什么用 Git?

优势说明
版本历史每次变更都有记录,可以回滚到任意时间点
增量备份只传变更,节省流量和空间
免费私有仓库GitHub/GitLab/Gitee 都支持免费私有仓库
文本友好Markdown 的 diff 一目了然
跨平台Mac/Windows/Linux 通用

1.2 Git + 云盘双保险(推荐)

         ┌─────────────────┐
         │  本地 workspace  │
         └────────┬────────┘

        ┌─────────┴─────────┐
        │                   │
        ▼                   ▼
┌───────────────┐   ┌───────────────┐
│ GitHub 私有仓库 │   │ 云盘实时同步   │
│ (版本历史)     │   │ (实时备份)     │
└───────────────┘   └───────────────┘

Git 负责: 版本历史,可回滚 云盘负责: 实时同步,零延迟


第二步:Git 备份配置

2.1 初始化 Git 仓库

bash
cd ~/.openclaw/workspace
git init

2.2 创建 .gitignore

排除不需要版本控制的文件:

bash
cat > ~/.openclaw/workspace/.gitignore << 'EOF'
# 临时文件
*.tmp
*.bak
*~

# 系统文件
.DS_Store
Thumbs.db

# Obsidian 配置(可选)
.obsidian/

# 敏感信息(如果有)
secrets/
*.key
*.pem
EOF

2.3 首次提交

bash
git add .
git commit -m "Initial commit - OpenClaw workspace backup"

2.4 创建 GitHub 私有仓库

方式一:网页创建

1。 访问 https://github.com/new 2. Repository name:openclaw-workspace 3。 选择 Private 4。 不要勾选 README/gitignore/license(本地已有) 5. Create repository

然后关联远程:

bash
git remote add origin https://github.com/你的用户名/openclaw-workspace.git
git branch -M main
git push -u origin main

方式二:命令行创建(需要 gh CLI)

bash
# 安装 gh CLI(如果没有)
# macOS:brew install gh
# Windows:winget install GitHub.cli

gh auth login
gh repo create openclaw-workspace --private --source . --remote origin --push

2.5 验证推送成功

访问 GitHub 仓库页面,确认文件已上传。


第三步:设置自动备份

3.1 方式一:HEARTBEAT 定时任务

编辑 HEARTBEAT.md

markdown
## 每日自动备份(每天 22:00)
- [ ] 执行 git add .
- [ ] 执行 git commit -m "Auto backup $(date +%Y-%m-%d)"
- [ ] 执行 git push

3.2 方式二:系统定时任务

macOS/Linux (cron):

bash
# 编辑 crontab
crontab -e

# 添加以下行(每天 22:00 执行)
0 22 * * * cd ~/.openclaw/workspace && git add . && git commit -m "Auto backup $(date +\%Y-\%m-\%d)" && git push

Windows (Task Scheduler):

1。 打开"任务计划程序" 2。 创建基本任务 3。 触发器:每天 22:00 4。 操作:启动程序

  • 程序:cmd.exe
  • 参数:/c cd %USERPROFILE%\.openclaw\workspace && git add . && git commit -m "Auto backup" && git push

3.3 方式三:Obsidian Git 插件

1。 安装社区插件"Obsidian Git" 2。 设置 → Obsidian Git 3。 配置:

  • Auto backup interval:60 (分钟)
  • Auto push after backup: 开启
  • Commit message:Vault backup:

第四步:云盘实时同步

4.1 iCloud 方案(macOS 用户)

bash
# 1. 把 workspace 移动到 iCloud
mv ~/.openclaw/workspace ~/Library/Mobile\ Documents/com~apple~CloudDocs/openclaw-workspace

# 2. 创建软链接
ln -s ~/Library/Mobile\ Documents/com~apple~CloudDocs/openclaw-workspace ~/.openclaw/workspace

# 3. 验证
ls -la ~/.openclaw/workspace

优点: 苹果生态无缝同步 缺点: Windows/Linux 支持不好

4.2 OneDrive 方案(Windows 用户)

powershell
# 1. 把 workspace 移动到 OneDrive
Move-Item ~/.openclaw/workspace ~/OneDrive/openclaw-workspace

# 2. 创建软链接(需要管理员权限)
New-Item -ItemType Junction -Path ~/.openclaw/workspace -Target ~/OneDrive/openclaw-workspace

4.3 坚果云方案(国内用户)

1。 安装坚果云客户端 2。 在坚果云设置中添加同步文件夹:~/.openclaw/workspace 3。 或使用 WebDAV 方式同步

4.4 Syncthing 方案(高级用户)

Syncthing 是开源的 P2P 同步工具:

bash
# macOS
brew install syncthing

# 启动服务
syncthing

# 访问 http://localhost:8384 配置同步文件夹

第五步:多设备协作

5.1 场景:家里 Mac,公司 Windows

首次设置(设备1 - Mac):

bash
cd ~/.openclaw/workspace
git init
git add .
git commit -m "Initial"
git remote add origin https://github.com/用户名/openclaw-workspace.git
git push -u origin main

克隆到设备2(Windows):

bash
git clone https://github.com/用户名/openclaw-workspace.git %USERPROFILE%\.openclaw\workspace

5.2 日常同步流程

切换设备前:

bash
git add .
git commit -m "Update before switch"
git push

切换设备后:

bash
git pull

5.3 冲突处理

如果两边都改了同一文件:

bash
git pull
# 如果有冲突
# 1. 打开冲突文件,会看到:
# <<<<<<< HEAD
# 本地的内容
# =======
# 远程的内容
# >>>>>>> origin/main

# 2. 手动编辑,保留正确的内容

# 3. 提交解决
git add .
git commit -m "Merge conflict resolved"
git push

5.4 避免冲突的建议

  • 不要同时在两台设备上操作
  • 养成"先 pull 再工作,工作完再 push"的习惯
  • 使用云盘实时同步可以减少冲突

第六步:灾难恢复

6.1 从 Git 恢复

场景:误删了重要记忆

bash
# 查看历史
git log --oneline

# 恢复到某个版本
git checkout <commit-hash> -- MEMORY.md

# 或恢复整个仓库
git reset --hard <commit-hash>

场景:在新电脑恢复

bash
git clone https://github.com/用户名/openclaw-workspace.git ~/.openclaw/workspace

6.2 从云盘恢复

如果使用云盘同步: 1。 打开云盘的"历史版本"功能 2。 找到需要恢复的文件 3。 下载历史版本

6.3 完整恢复清单

场景恢复方式
单文件误删git checkout HEAD -- 文件名
单文件改错git checkout HEAD~1 -- 文件名 (恢复上一版本)
整个仓库恢复git clone
云盘同步问题检查云盘客户端,重新同步

故障排查

问题检查步骤
git push 失败检查网络;确认有 push 权限;尝试 git pull 后再 push
冲突无法解决手动编辑冲突文件;或使用 git mergetool
云盘同步慢检查网络;排除大文件;检查 .gitignore
软链接失效重新创建软链接;检查目标路径是否存在
找不到历史版本确认已 commit;检查 git log

试一试

练习 1: 初始化 Git 仓库

bash
cd ~/.openclaw/workspace
git init
git add .
git commit -m "First backup"

练习 2: 创建 GitHub 私有仓库

1。 登录 GitHub 2。 创建私有仓库 3。 推送代码 4。 在网页确认文件已上传

练习 3: 设置自动备份

选择一种方式:

  • HEARTBEAT 定时任务
  • 系统 cron/Task Scheduler
  • Obsidian Git 插件

练习 4: 模拟恢复

1。 备份当前 MEMORY.md 2。 删除 MEMORY.md 3。 用 git checkout HEAD -- MEMORY.md 恢复


备份检查清单

检查项状态
Git 仓库已初始化
.gitignore 已配置
远程仓库已配置(私有)
至少完成一次 push
设置了自动备份
知道怎么恢复

这一节,你做了什么

学了什么核心操作
Git 备份init → add → commit → push
自动备份HEARTBEAT / cron / Obsidian Git
云盘同步iCloud / OneDrive / 坚果云
多设备协作git clone / git pull / git push
灾难恢复git checkout / git reset

第 11 章总结

这一章,你学会了用 Obsidian 管理 OpenClaw 的知识体系:

小节核心收获
11.1理解为什么 Obsidian 是 OpenClaw 的最佳搭档
11.2把 workspace 当 Vault 打开,可视化查看和编辑记忆
11.3掌握双向链接、标签、Dataview、图谱等增强技巧
11.4理解日记本 vs 档案柜,学会防止记忆丢失
11.5用软链接实现多 Agent 知识共享
11.6建立 Git 备份和多设备同步方案

核心公式:

OpenClaw(AI 大脑) + Obsidian(可视化窗口) + 软链接(多 Agent 共享) + Git(备份) = 完整的 AI 知识管理体系

基于 MIT 许可发布