我的Obsidian多平台多终端同步方案

我的情况

1台PC(windows10/ubuntu22.04双系统)、1台笔记本电脑(windows11)、1台苹果手机(iOS)

起因

我有一个台式机A和一个笔记本电脑B。两台电脑通过syncthing软件保持obsidian笔记文件夹的内容同步。并且两台电脑的obsidian都安装了git插件,实时在gitee网上同步数据。可谓“狡兔三窟”。但后来我在台式机A上增加了ubuntu操作系统,使台式机A变成了一台双系统电脑。在ubuntu系统中我也想使用obsidian笔记,于是开始了漫长的折腾,中间一度导致整个笔记库回滚到1周前的状态,很多其他笔记内容也丢失不少。

幸好git库保留了1周前的状态,损失不大。最终在AI的帮助下得到一个满意的方案。

解决方案

这里以同步一个名为obsidian的文件夹为例。
该文件夹在台式机windows系统下的路径为D:/obsidian,在笔记本电脑windows系统下的路径为D:/01-obsidian

完全放弃git工具

git工具过于高级和复杂的操作机制对入门选手很不友好。

我在使用obsidian git插件的过程中出现了gitee平台提示文件超限的问题。我的md文档+图片的大小只有100+mb,问题出在git自己会增加很多用户不理解的大容量文件。不纠结,果断放弃这个工具。

  • 删除台式机windows系统下D:/obsidian文件夹中的.git文件夹。
  • 删除笔记本电脑windows系统下D:/01-obsidian文件夹中的.git文件夹。

台式机A的windows系统设置

使用syncthing同步

syncthing是一款全平台的局域网同步工具。

使用syncthing与笔记本电脑保持同步。在软件中配置台式机的windows系统下D:/obsidian与笔记本电脑D:/01-obsidian配对同步。

关闭Windows 的快速启动功能

Windows 的快速启动功能会让系统在“关机”时进入混合休眠状态,导致 NTFS 分区被锁定,Ubuntu 只能以只读方式挂载。

操作步骤:

  1. 打开“控制面板”

    • Win + R,输入 control,回车。

    • 或者右键“开始”菜单 → 选择“控制面板”。

  2. 进入“电源选项”

    • 在控制面板中,选择 “硬件和声音” → “电源选项”
  3. 点击“选择电源按钮的功能”

    • 在左侧菜单,点击 “选择电源按钮的功能”
  4. 更改当前不可用的设置

    • 点击 “更改当前不可用的设置”(需要管理员权限)。
  5. 取消勾选“启用快速启动”

    • 在“关机设置”部分,取消勾选 “启用快速启动(推荐)”

    • 点击 “保存更改”

  6. 完全关机(不要重启)

    • 直接选择 “关机”(不要点“重启”),然后手动开机进入 Ubuntu 测试。

台式机的ubuntu系统设置

设置开机自动挂载windows分区

修改/etc/fstab文件实现开机自动挂载

  1. 确认分区信息
    使用lsblk -f命令查看D盘的设备名称、UUID和文件系统类型。例如:

    lsblk -f
    

    输出可能类似于:

    NAME        FSTYPE   LABEL    UUID                                 MOUNTPOINT
    sda
    ├─sda1      ntfs     DATA     1234-5678-90AB-CDEF                  /media/ros/DATA
    └─sda2      ext4              abcdef12-3456-7890-abcd-ef1234567890 /
    

    假设D盘的设备名称为/dev/sda1,UUID为1234-5678-90AB-CDEF,文件系统为ntfs

  2. 创建挂载点目录
    创建一个目录作为D盘的挂载点。例如:

    sudo mkdir /mnt/windows_d
    
  3. 编辑/etc/fstab文件
    打开/etc/fstab文件进行编辑:

    sudo nano /etc/fstab
    

    在文件末尾添加一行,内容如下:

    UUID=1234-5678-90AB-CDEF  /mnt/windows_d  ntfs  defaults,auto,rw  0  0
    
    • UUID=1234-5678-90AB-CDEF:使用分区的UUID(推荐)或设备名称(如/dev/sda1)。
    • /mnt/windows_d:挂载点目录。
    • ntfs:文件系统类型。
    • defaults,auto,rw:挂载选项,表示默认设置、自动挂载、读写权限。
    • 0 0:表示不启用备份和不进行文件系统检查。
  4. 测试配置
    保存并关闭文件后,运行以下命令测试/etc/fstab配置是否正确:

    sudo mount -a
    

    如果没有报错,则说明配置成功。

  5. 重启验证
    重启系统后,检查D盘是否已自动挂载到/mnt/windows_d

    ls /mnt/windows_d
    

安装syncthing软件并设置同步文件夹

参考syncthing软件官方网站的linux安装指导,完成软件安装。

配置同步文件夹,找到刚刚设置的自动挂载文件夹/mnt/windows_d/obsidian,与笔记本电脑D:/01-obsidian配对同步。

笔记本的windows系统

在使用syncthing与台式机的双系统保持同步之外,新增坚果云备份D:/01-obsidian,形成新的“狡兔三窟”!

手机(Android/iOS均适用)

安装Obsidian客户端,在第三方插件市场中找到并安装Remotely save插件。参考坚果云官网对webdav的配置说明,完成Remotely save插件的配置即可。

Remotely save配置注意事项:

  • 发送到服务器的Depth header选择:支持 depth='infinity'
  • 并行度选择:1

注意:由于坚果云的限制,第一次同步时,可能会因为短期内下载大量文件导致限制告警。不要慌,1小时候后再次尝试同步即可,如此重复直到所以文件完成同步。

syncthing统一设置(For Obsidian)

Obsidian在不同系统下的配置数据以及插件配置数据可能存在差异,导致syncthing经常提示文件冲突,需要手动频繁处理。因此在syncthing中统一配置“忽略规则”。

“忽略规则”配置方法如下:

  1. 选择同步文件夹,编辑。

Pasted image 20250516104941

  1. 选择“忽略模式”标签页,输入忽略规则:*.json,保存。

后记

做任何重大操作之前,千万用其他设备保存好重要数据!

由于个人对云同步的需求不高,因此只在1台PC上配置了坚果云同步。可以考虑2台PC全部配置坚果云

看到这里你觉得还不错的话,请给我点个赞吧!