Obsidian 备份方案与避坑指南.md 10 KB


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私人令牌.mdRustdesk-key.md 等敏感文件。如果你的 Gogs 仓库被别人看到,这些就会泄露。当前是私有仓库所以安全,但如果以后想公开仓库,需要先清理历史或用 git filter-branch 移除敏感文件。

  2. Gogs 密码
    密码已存 macOS 钥匙串 (osxkeychain),以后 push 无需输入。如果换电脑,需要重新:

    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

# 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 <commit> -- <文件路径>

场景 C:恢复整个 vault 到某个时间点

cd ~/Documents/Obsidian
git log --oneline           # 找到目标 commit hash
git checkout <hash> -- .    # 恢复到该时间点

五、定期检查清单

每月做一次:

  • 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 failedDRI3 error: Could not get DRI3 device),导致 GDM 渲染黑屏。

这与内核版本无关,两个内核都报同样的错误但用户会话桌面能正常显示。

修复方案

把显示管理器从 GDM 换成 LightDM(GTK 界面,不需要 3D 加速):

# 安装
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

诊断命令

# 查看 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

自动登录(绕过登录界面)

如果登录界面有问题但桌面本身能进去:

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 桌面,正常工作