Obsidian 双机同步与备份方案
记录时间:2026-08-18
适用范围:MacBook Air(本机,配置标准机)+ Mac mini(10.10.10.21)
一、架构总览
两台机器跑两套同步系统,并行不冲突:
- LiveSync — 笔记实时同步,两台机器连同一个 CouchDB 数据库
- Git 备份 — 全库备份到 Gogs 私有仓库,两台机器各自独立自动提交
二、LiveSync 配置
- 两台机器使用同一个 CouchDB 数据库(配置文件 md5 完全一致)
- 连接配置加密存储(配置名 legacy-couchdb,看不到明文地址)
- 数据库名后缀:
806fd73e7e
- 模式:实时同步(liveSync: true),后台常驻
- 同步排除:
.git、node_modules、obsidian-livesync 自身 → git 仓库不会被 LiveSync 动
- E2E 加密:未开启
- 冲突策略:新文件覆盖旧文件
三、Git 备份配置
- 服务器:princess(84.235.240.199)上的 Gogs,SSH 端口 2222
- 仓库地址:
ssh://git@84.235.240.199:2222/zhensolid/obsidian(master 分支)
- 插件:obsidian-git,每 10 分钟自动 pull → commit → push
- 提交信息格式:
vault backup: {{date}}
- Git 身份:zhensolid / zhensolid@vip.qq.com
- Gogs 上的 SSH 密钥(2 把,均属 zhensolid 账号):
hermes-mac → MacBook Air(2026-06-15 添加)
mac → Mac mini(密钥注释 obsidian-vault-backup,2026-08-18 添加)
四、原则
- 以本机(MacBook Air)配置为准,mini 对齐本机
- LiveSync 管笔记内容,git 管全库备份,各机器独立、互不干扰
五、已知坑(重要)
- 仓库地址必须带 git@ —— 不带会用本机用户名去认证,直接 Permission denied
- 家宽到 Gogs 的国际链路慢(全量拉取几十 KB/s),日常增量同步无感
git init / 插件重新初始化会清空 refs,恢复方法:
git fetch origin
git reset --mixed origin/master
git branch --set-upstream-to=origin/master master
对象缺失(fsck 报 missing)的快速修复:从另一台完整机器打 bundle 走局域网:
# 完整机器上
git bundle create /tmp/full.bundle origin/master
# 传到损坏机器后
git bundle unbundle /tmp/full.bundle
两台机器同时编辑同一笔记会冲突,先 pull 再写
Mac mini 重置插件后恢复方式:git checkout -- .(以本机提交的版本为准,能恢复全部插件)
六、2026-08-18 故障修复记录
- 现象:两机 git 仓库被重置(master 分支消失、1400+ 文件被当作新文件暂存)
- 原因:重置过程中 git init / 插件重新初始化(非 LiveSync,LiveSync 已排除 .git)
- 修复过程:
- 确认 Gogs 服务器仓库完好(权威源)
- MacBook Air:fetch 拉回历史 → reset 重建 master → 7 个丢失文件恢复(2 个对象直接从服务器提取)
- Mac mini:续传 fetch → 接上 origin/master → 打 bundle 走局域网传回 MBA 补齐缺失对象
- mini 上
git checkout -- . 对齐远端,恢复 13 个插件目录
- 结果:两机 git 仓库完整同步,LiveSync 同库同步,全部恢复正常