xChar
·2 years ago

同步方案总览

用obsidian已经两年了,对于Obsidian的多端同步,我最终采用了如下的同步和备份方案

  1. 阿里云OSS进行同步
  2. Windows定时任务压缩Obsidian目录到另一文件夹做备份

原因解释

为什么采用这种方式呢?

之前我一直采用OneDrive同步+GitHub仓库的方式进行备份

OneDrive同步不足

但onedrive没有提供webdav服务(或者是我找不到),然后我用Koofr工具生成了OneDrive的webdav服务,这种方式并不好,因为Koofr的服务有时候不稳定,并且速度也不好,经常导致remotely-save插件同步失败(毕竟不是官方服务)。

GitHub备份不足

至于备份,我则是定期将obsidian整个库文件同步到GitHub仓库,其中包括我的Obsidian配置(当然是私人仓库哈),但是最近我发现我的备份目录越来越大(1.5GB),查看Obsidian库文件,只有250MB,一看.git文件,我的天,有1GB多,我也不是程序员,不敢乱删,如果保持现状下次迁移系统就要把整个目录拷贝过去才能做到无缝备份,而且我发现现在我git push好慢好慢(非网络问题

备份真的超级超级重要,像笔记这种东西丢了真的要急死人,我在一次重装系统的时候就忘记备份我的笔记了,正在伤心之时,我突然想到:诶,我不是在GitHub上备份了整个Obsidian文件夹吗?直接pull下来,没有任何损失,笔记回来了,配置也一个没丢

方案实施

阿里云OSS同步

既然不用OneDrive同步,那么用其他网盘服务?我之前用过坚果云,同步体验也不是很好,不太稳定,且月流量只有1GB,做笔记是够用了,但是我还有其他同步服务。综合当前的不足,最终决定采用阿里云(当然其他厂家也可以,如七牛云)OSS,购买了3年40GB 27元的标准资源包(对于这种经常需要读写的文件还是买标准资源包好),价格还是挺实惠的,40GB足够记笔记用了,还可以用来搭建图床

阿里端需要进行的配置

首先购买阿里云对象存储oss资源包,我买的是3年27元40GB标准版套餐,可根据自己需求购买

购买完成之后进入控制台,点击左侧的Bucket列表,创建一个Bucket,随意命名,地域选择离自己最近的,其他的不用管

创建完成之后进入Bucket,点击数据安全里面的跨域设置,创建一个规则,来源填写

app://obsidian.md 
capacitor://localhost 
http://localhost

允许Methods 全部勾选 ,允许 Header 填写:* ,填写完成点击确定即可

接着需要授权一个用户来访问和管理Bucket,点击阿里云右上角头像里面的AccessKey 管理,如果显示这样点击开始使用子用户AccessKey即可

接着我们会来到身份管理的用户管理界面,我们创建一个用户登录名称和显示名称随便写,这里我设置为和我创建的Bucket名称保持一致,便于辨认,访问方式记得勾选OpenAPI 调用访问点击确定创建完成后会显示你的AccessKey ID 和 AccessKey Secret,要复制下来,这个页面只会显示一次

接着我们回到Bucket页面点击权限控制里面的Bucket 授权策略,新增一个授权,为刚才创建的用户授权,授权用户勾选子账号,然后选择刚刚创建的用户,授权操作勾选完全控制,其他的不用管,点击确定即完成Bucket 策略授权

Obsidian端需要进行的配置

这里我们还是采用的remotely-save插件,没有安装的朋友直接在社区插件市场搜索安装即可(需要代理工具

remotely-save的远程服务我们选择S3 或兼容 S3的服务,接着我们回到Bucket的管理界面,需要找到Bucket的服务地址(Endpoint)和区域(Region),点击Bucket的概览,复制地域节点对应的信息,粘贴到Obsidian,然后把刚刚创建用户时复制的AccessKey ID 和 AccessKey Secret粘贴到对应位置,存储桶(Bucket)的名字填写你创建的Bucket的名称

如果你在同步过程中遇到因为region错误而导致无法访问到对应的存储桶,则可以将region更改为ap-east-1,根据官方提供的文档,这个对应的是亚太地区的香港区域

到这里,同步部分已经配置完成了,先点击检查看一下是否能连通,如果能连通,就说明配置正确,你可以在remotely-save设置自动同步,我一般是设置每5分钟自动同步启动后第1秒自动同步

Windows定时任务备份

备份的问题刚刚也说了,.git文件夹过大,网上说可以把.git文件夹删掉,重开一个仓库,但是这样毕竟不能根治,还麻烦,而且git自身在国内备份速度也慢,现在弃用了这种方式,想了好久,我决定采用Windows定时任务,每天打开电脑的时候使用Winrar对Obsidian整个文件夹压缩后备份到D:\Backups 这个目录(我的谷歌云盘同步了这个目录)具体步骤如下

win+R后输入taskschd.msc,回车,点击右侧的创建基本任务,名称和描述随便填写,任务开始时间选择当前用户登陆时,任务执行的操作就选择启动程序,程序或脚本填写WinRAR程序的路径,可选参数填写

a -r -ep1 -ibck "参数1" "参数2"

如果你是7zip用户,程序或脚本填写7zip程序的路径,可选参数填写

a -r -bb1 -bd "参数1" "参数2"

参数1 写将文件压缩为哪个路径下的什么文件,比如这里我写D:\Backups\obsidian,就会将其压缩为D:\Backups\路径下的obsidian.rar文件;如果是7zip则默认压缩为obsidian.7z文件,你也可以指定文件类型,直接将参数1改为D:\Backups\obsidian.zip,这样就会被压缩为zip文件
参数2 写你Obsidian库的文件夹地址即可

这样就大功告成了,我经常用Google云盘备份,因为它可以随意选择备份目录,速度也不错(当然需要代理),你也可以将参数1 写为你Onedrive的路径(mac则为iCloud),这样就能自动备份到云盘

写在最后

这里要说明一下,你购买了阿里云OSS的资源包,还要为上传下载流量付费,对象存储OSS资源包(包月)定价详情

所以记得为你的阿里云充值一些钱,对于笔记来说,流量一般不会用的很多,一年都不一定超过六块钱,但是欠费过久可能会被回收(会有欠费提醒,欠费额度一般为10元),所以保险起见,给你的阿里云账号充值5块钱比较好

付费带来的体验当然是质的提升,阿里云OSS同步速度真的太快了,太丝滑了

重要的东西都是需要采取“三次备份”原则,这里我们本地算一份,压缩后的文件算一份,云端的压缩包文件算一份,即采用了这种原则。无论什么时候
记得备份!!记得备份!!记得备份!!

Loading comments...