1. 工具选择
Obsidian有很多同步方法,列出一部分:
同步工具 | 类别 | 即时同步 | 定期同步 | 版本记录 | 存储 | 价格 |
---|---|---|---|---|---|---|
sync | 官方同步 | ✓ | ✓ | 10GB | $96/年 | |
Remotely Save插件 | ob插件 | ✓ | 对接第三方 | Free | ||
LiveSync 插件 | ob插件 | ✓ | ✓ | 自建 | Free | |
Git 插件 | ob插件 | ✓ | ✓ | ✓ | 对接第三方 | Free |
Onedrive | 软件 | ✓ | ✓ | 免费层5GB | Free | |
iCloud | 软件 | ✓ | 免费层5GB | Free | ||
resilio sync | 软件 | ✓ | ✓ | 自建 | Free |
我最终选择的是 Remotely Save插件,在 obsidian 打开后自动同步一次,然后每5分钟或10分钟自动同步修改内容。官方的 Sync 或 LiveSync插件可以在内容有修改时立即同步,有一定成本。Onedrive、resilio 等依赖第三方软件,我希望在 obsidian 内解决同步需求。
接下来需要选择 Remotely Save 对接的第三方存储服务。
2. Remotely Save 存储服务选择
Remotely Save 支持:
- S3 或兼容S3的服务
- Dropbox
- Webdav
- Onedrive个人版
- webdis
我会按 Dropbox和Onedrive→Webdav→S3 的顺序描述,并提及一些服务商。
2.1 Dropbox 或 Onedrive
选择后点鉴权,会跳转到网页授权,然后就能同步了,适合能稳定访问服务的使用环境。Onedrive 提供 5GB免费存储容量,笔记够用。如果笔记中有大量图片、视频内容,Office365家庭版拼车(¥20-50/年)后提供 1TB 容量,便宜大碗。
2.2 WebDav
WebDav 是非常简单、使用广泛的协议,服务商非常多。选择后填入服务商提供的地址、用户名、密码就能同步了。
推荐日本老牌服务商 infinicloud,免费层提供 20GB存储,没有速度或调用频率限制。(邀请码 92J2C
,被邀请方永久+5GB)
先注册帐号,注册后打开 My Page 页面, 在 Apps Connection 处生成 Password,就有了服务器地址、用户名、密码。
需要注意的是,Remotely Save 虽然提示会创建文件夹,但 infinicloud 限制了在根目录下创建文件夹的权限,因此你需要先进入 infinicloud 的 File Browser,手动创建这个文件夹。
然后填入服务器地址、用户名、密码就能同步了。
在基本设置中,设置密码会将文件加密后再同步到存储服务。自动运行最频繁可以每 1 分钟同步一次,可以设置文件编辑后立即同步。往下滑动可以选择是否同步配置文件夹(包括插件)等选项。
2.3 Cloudflare R2
Cloudflare R2 是兼容 S3 的对象存储,免费层提供 10GB 存储容量,官方价格中涉及同步的内容如下:
项目 | 免费层 | 付费层 |
---|---|---|
存储 | 10GB/月 | $0.015 / GB-month |
A类操作(写入) | 100万次/月 | $4.50 / million requests |
B类操作(读取) | 1000万次/月 | $0.36 / million requests |
个人使用一般不会超过免费层额度,超额后费用低廉,20GB存储约 ¥10/年,100GB存储约 ¥110/年,适合偏好按量付费的用户,R2 也可以当图床、文件分享工具用。
1. 注册 Cloudflare
cloudflare 注册时需要科学,使用不需要。右上角可以切换语言。
2. 新建存储桶得到 S3 API
登录账户后在左侧选择「R2」,然后选择新建存储桶,填写名称,位置自动,创建存储桶。
点开新存储桶的设置选项卡,你就得到了 S3 API。
在这个界面往下滑动可以看到「自定义域」、「R2.dev子域」配置。
例如自动分配的 R2.dev 存储桶URL 是 https://pub-10086sb.r2.dev
,先打开R2.dev配置的「允许访问」,在对象选项卡上传 img1.jpg,外链就是 https://pub-10086sb.r2.dev/img1.jpg
。可以上传非空文件夹,外链要带上路径,如 https://pub-10086sb.r2.dev/文件夹1/img1.jpg
。
注意: R2 存储在超过免费层后会按量收费,可能会有坏蛋刷你的额度给你制造大额账单,不建议公开你的存储桶URL链接。
3. 创建令牌
回到R2管理界面,新建API令牌。
起名,权限设置「管理员读和写」。(网友反馈「对象读和写」有些操作会出错)
TTL选择「永久」,客户端IP地址筛选不填,点击创建API令牌。
你就得到了只显示一次的 Access Key ID 和 Secret Access Key,如果没记住,可以新建一个。
4. 在 Obsidian 中设置S3同步
回到 Obsidian 插件界面,Remotely Save 远程服务选择「S3或兼容S3的服务」,回顾上面的过程,Endpoint、Access Key ID、Secret Access Key、存储桶名称我们都有了。
区域默认 us-east-1,其他选项默认或按你的使用习惯,填好后测试。不同设备端的配置是一样的。
设定密码后文件会被加密,在R2对象界面显示为字母和数字组成文件名的无格式文件。建议跳过大文件选择10MB或50MB,据说 Remotely Save 同步>50MB的文件可能失败。可以通过文件名或文件夹以_
开头控制是否同步,可以同步配置。
每个Obsidian库需要建立独立的存储桶。
3. 其他存储服务商
- Yandex Disk:俄罗斯服务商,支持 webdav,免费层提供 10GB存储( 启用WebDAV的位置id.yandex.com);
- koofr:欧洲服务商,支持 webdav,免费层初始 2GB存储,引荐4人后提高至10GB。支持连接 Onedrive、Google Drive、Dropbox,被连接的服务也可以通过 WebDAV 访问(WebDAV默认地址
https://app.koofr.net/dav/Koofr
); - 阿里云 OSS:S3存储,最低 9元/年提供40GB存储空间,流量、API 各类操作会产生额外费用。
- 坚果云(不建议):支持webdav但限制较多,api限制500次/30分钟,单次请求文件数按750分页加载,容易报错;
- Backblaze(不建议):兼容S3,免费层存储 10GB,读操作只给 3000次/天,容易超额产生账单;
注:尝试不同服务商前,请备份好自己的 Obsidian库。我长期使用 Onedrive、Cloudflare R2、Infinicloud,确定这三个服务是可用并稳定的。以上列出的服务商仅试用过,并且文章写于 2023年11月,服务商的规则可能会发生变化。
4. Remotely Save的缺点
截止 2023年11月 网友反馈的问题:
- 不能同步大文件,单文件>30M会闪退
- 会丢失笔记真实的最后修改时间,变为最后一次上传到远端存储的时间
- 対笔记文件的删除、修改或重命名操作,不能在存储方案中直接修改,只能在Obsidian里完成,否则在同步时出错(Remotely Save云端的json不会记录这些操作,产生冲突)
简单讲,就是适合在 Obsidian 中编辑文件的用户,可能不适合用其他工具编辑文件的用户。