目前各种同步方案的优缺点
除了官方的收费同步服务,目前社区的多端同步方案,均以使用icloud,onedrive,坚果盘等云盘为主,缺点就是同步延时性较大,达到分钟级。甚至如果是安卓系统,还得多装一个非常耗电的foldersync服务。
这几天Remote-Save的插件的讨论也比较多,除了云盘,还支持使用云服务商的对象存储服务的桶进行同步。但对象存储服务,很可能会产生过多的网络下载费用,导致最后一年要花几百块,费用不可控,不太划算。
其实有个最好用的插件,不仅能满足当前同步方案的基本效果,还能实现实时同步的效果,亲测完美,延时小于2s。官方的图如下:
![https://forum-zh.obsidian.md/uploads/default/original/2X/e/e631ee36b7b2906e60edda58e5e43cdb57f9544b.gif](https://forum-zh.obsidian.md/uploads/default/original/2X/e/e631ee36b7b2906e60edda58e5e43cdb57f9544b.gif)
这个帖子已经完整讨论了LiveSync插件的使用方式。
不使用第三方软件实现Obsidian多平台实时同步 - 经验分享 - Obsidian 中文论坛
但作者使用得过于复杂了,很容易劝退大家,我尝试给大家提供一个最小化可行性的版本,让大家花几十分钟就可以实现,而不是要折腾几个小时。如果下文有什么地方没看懂,请自行搜索或参考上方这位朋友的帖子。
最小化实现完美多端云同步
有言在先
- 此方案需要使用云服务器,docker,但属于小白级的使用。
- 此插件是同步数据,而不是备份。备份请使用git。并且在执行下面的操作前,一定要先备份。
- 此方案是最小化版本,最少的改动,最简的方案,用的都是默认配置。
- 由于使用的是http协议同步,你的数据是明文传输的,所以敏感信息,就得给自己的服务器配https服务,这样会变得太复杂。我的笔记都是纯自己的感想,所以我自己是只使用http的。
- 插件有个特点就是,不进行删除同步操作,所以如果你在A端删除操作,或者重命名某个文件夹(被视为等同于删除并新建),则B端不会自动进行删除操作,需要你再删除一遍。
- 其他方面使用下来,个人感觉良好。如果心动了,就开整吧。
买一台云服务器并运行livesync的server端服务 - 耗时10到30分钟
- 买服务器
- 为了访问速度,可以买[[阿里云]],[[腾讯云]],[[华为云]]等国内服务器,虽然我的老东家是华为云,但纯便宜角度,我推荐腾讯云,首单一年45元,而且还可以先申请试用1个月,不满意就跑路换一家。
- 题外话:大家可能听过『即使不是程序猿,也推荐你学习一门编程语言』这种说法。具体原因,大家有兴趣可以去搜索。我这里想提一个自己的见解『即使不是程序猿,也推荐你学会使用云服务』。原因很简单:
- 你会发现很多厂商提供了docker的方式安装他们的软件server端,其实docker纯使用而言,就是执行几条固定的命令行,本质上和双击打开某个应用程序,没难太多。
- 当你会使用云服务后,能为你完善自己的工作流,提升效率,带来更多想象空间和可能性。
- 再比如,可以用docker一键式自建博客,自建科学上网,自建rss服务,自建内网穿透等等。都只需要几条docker命令行。
- 以腾讯云举例,写到这里,我还特地去申请了个推广链接,如果你后面花钱了,貌似能给我带来一点收入😃,先注册:腾讯云,再申请试用:云产品免费试用_云服务免费体验_免费云产品试用 - 腾讯云 (tencent.com),申请到1个月的『轻量应用服务器』试用(选装最常用的ubuntu系统最新版)
- 装docker
- 申请试用后,他们界面会引导你如何ssh登陆。登陆上后,执行几步:
- 运行livesync的server服务
- 按照插件官方描述obsidian-livesync/setup_own_server.md at main · vrtmrz/obsidian-livesync (github.com),3步
- 新建一个local.ini,原样复制过来即可
- 运行
docker run --rm -it -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password -v .local.ini:/opt/couchdb/etc/local.ini -p 5984:5984 couchdb
- 注意下这条命令需要将.local.ini改成你上一步新建的文件路径及名字,比如
/home/local.ini
- 如果你当前权限不足,docker前面加sudo
- 运行
docker run -d --restart always -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password -v .local.ini:/opt/couchdb/etc/local.ini -p 5984:5984 couchdb
- 测试是否运行成功:
sudo docker ps |grep couchdb