解决 Obsidian 同步 401 错误:批量操作触发的“安全锁”
解决 Obsidian 同步 401 错误:批量操作触发的“安全锁”及其解法
最近用 Obsidian 搭配 Remotely Save 插件通过 WebDAV 同步,遇到一个诡异问题:手动创建几个文件夹,同步正常;但用脚本一次性生成几十个空文件夹后,同步就报 401 Unauthorized。
查了两天,排除了很多可能性
权限、所有者、文件属性、隐藏流……全都一样。
重启、重装插件、重建库、换设备,都无效。
甚至把脚本建好的文件夹复制出来再粘贴回去,还是 401。
一度怀疑是“脚本创建的文件夹有原罪”。
真正的罪魁祸首:变更比例阈值
图题无关仔细看日志发现:每次批量增加大量文件时,插件会计算变更比例。如果新增/删除/修改的文件数超过总文件数的 50%,就会触发 WebDAV 服务端(或插件本身)的保护机制 —— 拒绝此次同步并返回 401,防止误操作大规模破坏数据。
手动建两三个文件夹,比例很低,安全。
一次新增几十个空文件夹,加上 .obsidian 里的配置文件,比例瞬间超标 -> 触发锁死。
而且这个锁死可能会在服务端残留状态,即便后来删掉多余文件,依然 401。
解决方法
清空 WebDAV 远程存储(删除同步根目录下所有内容)。
在 Obsidian 中重新执行一次全量同步(此时本地完整,远程为空,全量上传不会触发阈值判定)。
之后一切正常,增量同步再也没报过错。
经验总结
不要在有部分远程数据的情况下,一次性批量增加大量本地文件。
初始化知识库时,最好断开同步 -> 批量建好 -> 清空远程 -> 全量同步。
遇到无法解释的 401,优先考虑“变更比例”这个隐藏门槛。
分享出来,希望帮到同样踩坑的朋友
作者提示含AI生成内容。
