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 仓库
cd ~/.openclaw/workspace
git init2.2 创建 .gitignore
排除不需要版本控制的文件:
cat > ~/.openclaw/workspace/.gitignore << 'EOF'
# 临时文件
*.tmp
*.bak
*~
# 系统文件
.DS_Store
Thumbs.db
# Obsidian 配置(可选)
.obsidian/
# 敏感信息(如果有)
secrets/
*.key
*.pem
EOF2.3 首次提交
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
然后关联远程:
git remote add origin https://github.com/你的用户名/openclaw-workspace.git
git branch -M main
git push -u origin main方式二:命令行创建(需要 gh CLI)
# 安装 gh CLI(如果没有)
# macOS:brew install gh
# Windows:winget install GitHub.cli
gh auth login
gh repo create openclaw-workspace --private --source . --remote origin --push2.5 验证推送成功
访问 GitHub 仓库页面,确认文件已上传。
第三步:设置自动备份
3.1 方式一:HEARTBEAT 定时任务
编辑 HEARTBEAT.md:
## 每日自动备份(每天 22:00)
- [ ] 执行 git add .
- [ ] 执行 git commit -m "Auto backup $(date +%Y-%m-%d)"
- [ ] 执行 git push3.2 方式二:系统定时任务
macOS/Linux (cron):
# 编辑 crontab
crontab -e
# 添加以下行(每天 22:00 执行)
0 22 * * * cd ~/.openclaw/workspace && git add . && git commit -m "Auto backup $(date +\%Y-\%m-\%d)" && git pushWindows (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 用户)
# 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 用户)
# 1. 把 workspace 移动到 OneDrive
Move-Item ~/.openclaw/workspace ~/OneDrive/openclaw-workspace
# 2. 创建软链接(需要管理员权限)
New-Item -ItemType Junction -Path ~/.openclaw/workspace -Target ~/OneDrive/openclaw-workspace4.3 坚果云方案(国内用户)
1。 安装坚果云客户端 2。 在坚果云设置中添加同步文件夹:~/.openclaw/workspace 3。 或使用 WebDAV 方式同步
4.4 Syncthing 方案(高级用户)
Syncthing 是开源的 P2P 同步工具:
# macOS
brew install syncthing
# 启动服务
syncthing
# 访问 http://localhost:8384 配置同步文件夹第五步:多设备协作
5.1 场景:家里 Mac,公司 Windows
首次设置(设备1 - Mac):
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):
git clone https://github.com/用户名/openclaw-workspace.git %USERPROFILE%\.openclaw\workspace5.2 日常同步流程
切换设备前:
git add .
git commit -m "Update before switch"
git push切换设备后:
git pull5.3 冲突处理
如果两边都改了同一文件:
git pull
# 如果有冲突
# 1. 打开冲突文件,会看到:
# <<<<<<< HEAD
# 本地的内容
# =======
# 远程的内容
# >>>>>>> origin/main
# 2. 手动编辑,保留正确的内容
# 3. 提交解决
git add .
git commit -m "Merge conflict resolved"
git push5.4 避免冲突的建议
- 不要同时在两台设备上操作
- 养成"先 pull 再工作,工作完再 push"的习惯
- 使用云盘实时同步可以减少冲突
第六步:灾难恢复
6.1 从 Git 恢复
场景:误删了重要记忆
# 查看历史
git log --oneline
# 恢复到某个版本
git checkout <commit-hash> -- MEMORY.md
# 或恢复整个仓库
git reset --hard <commit-hash>场景:在新电脑恢复
git clone https://github.com/用户名/openclaw-workspace.git ~/.openclaw/workspace6.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 仓库
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 知识管理体系