--- title: Obsidian 备份方案与避坑指南 created: 2026-05-27 tags: - Obsidian - 备份 - Git - LiveSync --- ## 备份架构 你的 Obsidian vault 有 **双重备份**,互为补充: ``` ┌─────────────────────────────────────────┐ │ macOS (本地 vault) │ │ ~/Documents/Obsidian │ └──────────┬──────────────┬───────────────┘ │ │ ┌──────▼──────┐ ┌───▼──────────────┐ │ LiveSync │ │ Obsidian Git │ │ (实时同步) │ │ (30分钟自动推送) │ └──────┬──────┘ └───┬──────────────┘ │ │ ┌──────▼──────────────▼──────────────┐ │ Princess (84.235.240.199) │ │ ┌────────────┐ ┌──────────────┐ │ │ │ CouchDB │ │ Gogs (Git) │ │ │ │ :5984 │ │ :3080 │ │ │ │ 实时增量 │ │ 版本历史 │ │ │ └────────────┘ └──────────────┘ │ └────────────────────────────────────┘ ``` | 方式 | 工具 | 频率 | 内容 | 用途 | |------|------|------|------|------| | 实时同步 | LiveSync → CouchDB | 实时 | 笔记 + `.obsidian/` 配置 | 多设备无缝切换 | | 版本备份 | Obsidian Git → Gogs | 30 分钟 | 整个 vault | 历史回溯、误删恢复 | --- ## 一、Git 备份(Gogs) ### 仓库信息 - 地址:`http://84.235.240.199:3080/zhensolid/obsidian` - 类型:**私有仓库** - 插件:Obsidian Git v2.38.3 - 配置: - 文件变更自动 commit,30 分钟自动 push - 提交信息格式:`vault backup: 2026-05-27 10:00:00` - push 前先 pull(rebase 模式) - 弹窗通知已关闭(安静运行) - 状态栏显示分支和同步状态 ### .gitignore 排除项 ``` .obsidian/workspace.json # 桌面布局(经常变,无意义) .obsidian/workspace-mobile.json .DS_Store .trash/ **/.space/ # Make.md 缓存 ``` ### ⚠️ 避坑提醒 1. **Git 历史永久保留** 所有曾经 commit 过的文件(包括之后删除的)都会留在历史中。vault 里有 `Github私人令牌.md`、`Rustdesk-key.md` 等敏感文件。如果你的 Gogs 仓库被别人看到,这些就会泄露。当前是私有仓库所以安全,但如果以后想公开仓库,需要先清理历史或用 `git filter-branch` 移除敏感文件。 2. **Gogs 密码** 密码已存 macOS 钥匙串 (`osxkeychain`),以后 push 无需输入。如果换电脑,需要重新: ```bash cd ~/Documents/Obsidian git remote set-url origin http://84.235.240.199:3080/zhensolid/obsidian.git # 首次 push 会要求输入 Gogs 账号密码 ``` 3. **Gogs SSH 未配置** 目前只能 HTTP 方式推送。SSH (端口 2222) 未配置密钥,如果以后想用 SSH: - 在 Gogs → 用户设置 → SSH 密钥 中添加公钥 - 然后 `git remote set-url origin ssh://git@84.235.240.199:2222/zhensolid/obsidian.git` 4. **首次 clone 会很大** 2332 个文件,包含插件 JS、图片附件等,初始 clone 需要时间,正常现象。 5. **Obsidian Git 与 LiveSync 的 `.obsidian/` 会互相覆盖** 两个系统都会同步 `.obsidian/plugins/*/data.json`。正常使用没问题,但如果在两台设备上同时改了同一个插件配置又同时同步,可能冲突。一般不会发生。 --- ## 二、LiveSync 实时同步 ### 服务器信息 - 服务器:Princess (84.235.240.199) - 容器:`obsidian-sync`(CouchDB) - 端口:5984 - 版本:v0.25.69 ### 同步内容 | 设置 | 值 | 说明 | |------|-----|------| | `syncInternalFiles` | true | 同步 `.obsidian/` 配置文件夹 | | 排除 | `obsidian-livesync/`, `node_modules/`, `.git/` | LiveSync 不自己同步自己 | ### 新设备接入流程 这是最常见的场景,记住四步: ``` 1. 创建新 vault → 2. 安装 LiveSync 插件 → 3. 配置 CouchDB 连接 → 4. 等待同步完成 ``` ⚠️ **唯一需要手动做的事**:LiveSync 的 CouchDB 连接信息。 因为 `obsidian-livesync/` 被排除在同步之外(鸡生蛋问题:不能自己同步自己的配置),所以新设备上必须手动填入: - CouchDB 地址 - 用户名 - 密码 - 数据库名 填好后,其余一切(插件配置、QuickAdd 快捷指令、模板等)会自动从 CouchDB 拉下来。 ### ⚠️ 避坑提醒 1. **不要同时用其他同步方案**(iCloud、Dropbox 等) 会造成文件冲突和内容重复。LiveSync 独占同步。 2. **LiveSync 配置不同步** 换设备必须手动配连接信息,这是设计如此,不是 bug。 3. **版本跳级可能出问题** 如果插件版本跨度大(如 0.25.27 → 0.25.65),UI 可能显示「已禁用」但实际 `data.json` 为 true。解决: - 在设置里开关一次对应选项 - 注意 `liveSync` 主开关可能被连带关闭,检查一下 - 出现 "Database locked" 警告 → Hatch → Database Doctor 解决 4. **`syncInternalFiles: true` 会同步插件本体** 所以新设备连上后,不仅配置会同步,插件 JS 文件也会同步。但**这依赖 LiveSync 先连上**,而 LiveSync 本身不在同步范围内(第 2 点),所以新设备流程是先装 LiveSync、配连接、等同步。 --- ## 三、完整插件清单(25 个) | 插件 | 用途 | |------|------| | attachment-management | 附件管理 | | calendar | 日历 | | cmdr (Commander) | UI 定制,隐藏多余图标 | | codeblock-customizer | 代码块样式 | | consistent-attachments-and-links | 链接一致性 | | dataview | 数据查询 | | editing-toolbar | 编辑工具栏 | | homepage | 首页面板 | | make-md | 增强编辑体验 | | obsidian-auto-link-title | 粘贴 URL 自动拉取标题 | | obsidian-banners | 笔记横幅图片 | | obsidian-excalidraw-plugin | 画图 | | obsidian-git | Git 自动备份 | | obsidian-icon-folder (Iconize) | 文件夹图标 | | obsidian-kanban | 看板 | | obsidian-livesync | 实时同步 | | obsidian-memos (Thino) | 闪念笔记 | | obsidian-style-settings | 主题定制 | | obsidian-tasks-plugin | 任务管理 | | omnisearch | 增强搜索 | | quickadd | 快速创建/捕获 | | recent-files-obsidian | 最近文件 | | table-editor-obsidian | 表格编辑 | | tag-wrangler | 标签管理 | | templater-obsidian | 模板引擎 | --- ## 四、快速恢复流程 ### 场景 A:换新 Mac ```bash # 1. 从 Gogs clone vault git clone http://84.235.240.199:3080/zhensolid/obsidian.git ~/Documents/Obsidian # 2. 打开 Obsidian,加载这个 vault # 3. LiveSync 会自动连接(CouchDB 信息已在 clone 的配置中?不对——见下方注意) ``` ⚠️ **重要**:LiveSync 的 `data.json` 里 CouchDB 连接信息是**加密**存储的(`encryptedCouchDBConnection` 字段),而且加密密钥与设备绑定。所以即使 git clone 了完整的 `.obsidian/`,LiveSync 在新设备上仍然需要重新配置连接。**这不是 bug,是安全设计。** 正确流程: ``` git clone → 打开 vault → 配置 LiveSync 连接 → 等待双向同步完成 ``` ### 场景 B:恢复误删文件 1. 最快:从 Gogs 查看历史,找到被删文件,复制内容 2. 或者:`git log -- <文件路径>` 找到最后 commit,然后 `git checkout -- <文件路径>` ### 场景 C:恢复整个 vault 到某个时间点 ```bash cd ~/Documents/Obsidian git log --oneline # 找到目标 commit hash git checkout -- . # 恢复到该时间点 ``` --- ## 五、定期检查清单 每月做一次: - [ ] Princess 服务器是否在线:`ssh princess uptime` - [ ] Gogs 容器是否运行:`ssh princess "sudo docker ps | grep gogs"` - [ ] CouchDB 容器是否运行:`ssh princess "sudo docker ps | grep obsidian-sync"` - [ ] 最近的 Git push 是否成功:看 Obsidian 底部状态栏 Git 图标 - [ ] LiveSync 是否正常:Obsidian 底部状态栏 LiveSync 图标应为绿色圆圈 --- ## 六、服务器桌面黑屏故障(2026-05-27 已修复) ### 现象 Ubuntu 24.04 PVE 虚拟机,控制台/RustDesk 登录界面全黑,只能看到鼠标光标。 ### 根因 GDM(GNOME Display Manager)的登录界面由 `gnome-shell` 渲染,**必须依赖 3D 硬件加速**。PVE 虚拟机的 virtio 显卡默认不提供 3D 加速(`glamor initialization failed`,`DRI3 error: Could not get DRI3 device`),导致 GDM 渲染黑屏。 这与内核版本无关,两个内核都报同样的错误但用户会话桌面能正常显示。 ### 修复方案 把显示管理器从 GDM 换成 **LightDM**(GTK 界面,不需要 3D 加速): ```bash # 安装 sudo apt install -y lightdm lightdm-gtk-greeter # 切换(会弹出选择界面,选 lightdm) sudo dpkg-reconfigure lightdm # 或直接停 GDM 启 LightDM sudo systemctl stop gdm sudo systemctl disable gdm sudo systemctl enable lightdm sudo systemctl start lightdm ``` ### 诊断命令 ```bash # 查看 Xorg 日志中的渲染错误 sudo cat /var/lib/gdm3/.local/share/xorg/Xorg.0.log | grep -E 'glamor|DRI|llvmpipe' # 截屏验证(需要 scrot) sudo apt install -y scrot sudo DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 scrot /tmp/screen.png # 查看当前显示管理器 cat /etc/X11/default-display-manager # 查看谁在用 seat0 loginctl list-sessions | grep seat0 ``` ### 自动登录(绕过登录界面) 如果登录界面有问题但桌面本身能进去: ```bash sudo sed -i 's/^# AutomaticLoginEnable = true/AutomaticLoginEnable = true/' /etc/gdm3/custom.conf sudo sed -i 's/^# AutomaticLogin = user1/AutomaticLogin = zlsh/' /etc/gdm3/custom.conf sudo systemctl restart gdm ``` ### 本次处理记录 - 受影响服务器:192.168.8.30(zlsh-Standard) - 触发原因:5 月 21 日内核自动更新 + 第一次重启后生效,但其实和内核无关 - 真正原因:GDM + virtio 显卡无 3D 加速 = 一直存在,只是之前自动登录绕过了 - 修复时间:2026-05-27 - 当前状态:LightDM + GNOME 桌面,正常工作