title: Obsidian 备份方案与避坑指南 created: 2026-05-27 tags:
你的 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 | 历史回溯、误删恢复 |
http://84.235.240.199:3080/zhensolid/obsidianvault backup: 2026-05-27 10:00:00.obsidian/workspace.json # 桌面布局(经常变,无意义)
.obsidian/workspace-mobile.json
.DS_Store
.trash/
**/.space/ # Make.md 缓存
Git 历史永久保留
所有曾经 commit 过的文件(包括之后删除的)都会留在历史中。vault 里有 Github私人令牌.md、Rustdesk-key.md 等敏感文件。如果你的 Gogs 仓库被别人看到,这些就会泄露。当前是私有仓库所以安全,但如果以后想公开仓库,需要先清理历史或用 git filter-branch 移除敏感文件。
Gogs 密码
密码已存 macOS 钥匙串 (osxkeychain),以后 push 无需输入。如果换电脑,需要重新:
cd ~/Documents/Obsidian
git remote set-url origin http://84.235.240.199:3080/zhensolid/obsidian.git
# 首次 push 会要求输入 Gogs 账号密码
Gogs SSH 未配置
目前只能 HTTP 方式推送。SSH (端口 2222) 未配置密钥,如果以后想用 SSH:
git remote set-url origin ssh://git@84.235.240.199:2222/zhensolid/obsidian.git首次 clone 会很大
2332 个文件,包含插件 JS、图片附件等,初始 clone 需要时间,正常现象。
Obsidian Git 与 LiveSync 的 .obsidian/ 会互相覆盖
两个系统都会同步 .obsidian/plugins/*/data.json。正常使用没问题,但如果在两台设备上同时改了同一个插件配置又同时同步,可能冲突。一般不会发生。
obsidian-sync(CouchDB)| 设置 | 值 | 说明 |
|---|---|---|
syncInternalFiles |
true | 同步 .obsidian/ 配置文件夹 |
| 排除 | obsidian-livesync/, node_modules/, .git/ |
LiveSync 不自己同步自己 |
这是最常见的场景,记住四步:
1. 创建新 vault → 2. 安装 LiveSync 插件 → 3. 配置 CouchDB 连接 → 4. 等待同步完成
⚠️ 唯一需要手动做的事:LiveSync 的 CouchDB 连接信息。
因为 obsidian-livesync/ 被排除在同步之外(鸡生蛋问题:不能自己同步自己的配置),所以新设备上必须手动填入:
填好后,其余一切(插件配置、QuickAdd 快捷指令、模板等)会自动从 CouchDB 拉下来。
不要同时用其他同步方案(iCloud、Dropbox 等)
会造成文件冲突和内容重复。LiveSync 独占同步。
LiveSync 配置不同步
换设备必须手动配连接信息,这是设计如此,不是 bug。
版本跳级可能出问题
如果插件版本跨度大(如 0.25.27 → 0.25.65),UI 可能显示「已禁用」但实际 data.json 为 true。解决:
liveSync 主开关可能被连带关闭,检查一下syncInternalFiles: true 会同步插件本体
所以新设备连上后,不仅配置会同步,插件 JS 文件也会同步。但这依赖 LiveSync 先连上,而 LiveSync 本身不在同步范围内(第 2 点),所以新设备流程是先装 LiveSync、配连接、等同步。
| 插件 | 用途 |
|---|---|
| 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 | 模板引擎 |
# 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 连接 → 等待双向同步完成
git log -- <文件路径> 找到最后 commit,然后 git checkout <commit> -- <文件路径>cd ~/Documents/Obsidian
git log --oneline # 找到目标 commit hash
git checkout <hash> -- . # 恢复到该时间点
每月做一次:
ssh princess uptimessh princess "sudo docker ps | grep gogs"ssh princess "sudo docker ps | grep obsidian-sync"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 加速):
# 安装
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