|
@@ -0,0 +1,68 @@
|
|
|
|
|
+# Obsidian 双机同步与备份方案
|
|
|
|
|
+
|
|
|
|
|
+> 记录时间:2026-08-18
|
|
|
|
|
+> 适用范围:MacBook Air(本机,配置标准机)+ Mac mini(10.10.10.21)
|
|
|
|
|
+
|
|
|
|
|
+## 一、架构总览
|
|
|
|
|
+
|
|
|
|
|
+两台机器跑两套同步系统,并行不冲突:
|
|
|
|
|
+
|
|
|
|
|
+- **LiveSync** — 笔记实时同步,两台机器连同一个 CouchDB 数据库
|
|
|
|
|
+- **Git 备份** — 全库备份到 Gogs 私有仓库,两台机器各自独立自动提交
|
|
|
|
|
+
|
|
|
|
|
+## 二、LiveSync 配置
|
|
|
|
|
+
|
|
|
|
|
+- 两台机器使用**同一个 CouchDB 数据库**(配置文件 md5 完全一致)
|
|
|
|
|
+- 连接配置加密存储(配置名 legacy-couchdb,看不到明文地址)
|
|
|
|
|
+- 数据库名后缀:806fd73e7e83a3b0
|
|
|
|
|
+- 模式:实时同步(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 管全库备份,各机器独立、互不干扰
|
|
|
|
|
+
|
|
|
|
|
+## 五、已知坑(重要)
|
|
|
|
|
+
|
|
|
|
|
+1. 仓库地址**必须带 git@** —— 不带会用本机用户名去认证,直接 Permission denied
|
|
|
|
|
+2. 家宽到 Gogs 的国际链路慢(全量拉取几十 KB/s),日常增量同步无感
|
|
|
|
|
+3. git init / 插件重新初始化会清空 refs,恢复方法:
|
|
|
|
|
+ ```bash
|
|
|
|
|
+ git fetch origin
|
|
|
|
|
+ git reset --mixed origin/master
|
|
|
|
|
+ git branch --set-upstream-to=origin/master master
|
|
|
|
|
+ ```
|
|
|
|
|
+4. 对象缺失(fsck 报 missing)的快速修复:从另一台完整机器打 bundle 走局域网:
|
|
|
|
|
+ ```bash
|
|
|
|
|
+ # 完整机器上
|
|
|
|
|
+ git bundle create /tmp/full.bundle origin/master
|
|
|
|
|
+ # 传到损坏机器后
|
|
|
|
|
+ git bundle unbundle /tmp/full.bundle
|
|
|
|
|
+ ```
|
|
|
|
|
+5. 两台机器同时编辑同一笔记会冲突,先 pull 再写
|
|
|
|
|
+6. Mac mini 重置插件后恢复方式:`git checkout -- .`(以本机提交的版本为准,能恢复全部插件)
|
|
|
|
|
+
|
|
|
|
|
+## 六、2026-08-18 故障修复记录
|
|
|
|
|
+
|
|
|
|
|
+- **现象**:两机 git 仓库被重置(master 分支消失、1400+ 文件被当作新文件暂存)
|
|
|
|
|
+- **原因**:重置过程中 git init / 插件重新初始化(非 LiveSync,LiveSync 已排除 .git)
|
|
|
|
|
+- **修复过程**:
|
|
|
|
|
+ 1. 确认 Gogs 服务器仓库完好(权威源)
|
|
|
|
|
+ 2. MacBook Air:fetch 拉回历史 → reset 重建 master → 7 个丢失文件恢复(2 个对象直接从服务器提取)
|
|
|
|
|
+ 3. Mac mini:续传 fetch → 接上 origin/master → 打 bundle 走局域网传回 MBA 补齐缺失对象
|
|
|
|
|
+ 4. mini 上 `git checkout -- .` 对齐远端,恢复 13 个插件目录
|
|
|
|
|
+- **结果**:两机 git 仓库完整同步,LiveSync 同库同步,全部恢复正常
|