Obsidian_同步方案


Tags: #软件
Created:
Updated:

简介

之前虽然部署过,但是没有记录总结,外加后续手机上 Obsidian 软件卸载了(折腾),就没理会

近期考虑重新使用,同步需要重新部署
重部署同时,顺便写篇文档记录总结下部署过程(水博文不是😄)

主要还是Obsidian 官方的同步国内太贵,消费不起(56元/月)
所以不可能使用,还是采用老办法 OSS + Remotely Save
采用 OSS 部署同步一年不超50元,完全够用了

Remotely Save 介绍

Remotely Save 是一款 Obsidian 的插件,支持 OneDriveDropboxwebdavS3

S3 与 OSS

S3(Simple Storage Service,简单存储服务),一般来讲的话是 Amazon Simple Storage Service (Amazon S3),指的是 Amazon S3 的接口规范,它是一种基于 HTTP 协议的 RESTful API,用于访问 Amazon Web Services(AWS)提供的对象存储服务

S3 可以理解为一种协议

OSS (Object Storage Service,对象存储服务) 提供是存储服务

两者 S3OSS 本质都是面向 Internet 的存储服务

对象存储服务,国内可以选择的有腾讯云阿里云百度云等等,只要业务有 OSS

以上部分了解至互联网,有误欢迎纠正~

为什么不采用坚果云?

S3 的服务相比较稳定, OSS 还可以就近部署,速度更快
另外之前看网友文章,好像存在读写频率的限制,也就是大量的读写就会被限制,而第一次肯定是要大量的读写,上千文件肯定是有的
基于以上多方面考虑,主推 S3 而不是坚果云

这里采用阿里云OSS,腾讯云可看参考资料2.2

如果要了解下费用的构成,可以参考官方文档(详见参考资料3.4),或者滑到最下面的其他说明先看下(大白话),再考虑是否部署

参考资料

  1. 同步方案

    1. Remotely Save + 阿里云 OSS
    2. Remotely Save + 腾讯云 OSS
    3. Remotely Save同步使用S3服务费用详细说明
  2. 静态备用链接:仅个人备份使用(防404),内容同上,链接仅本地有效,博友勿点

    1. Remotely Save + 阿里云 OSS

    2. Remotely Save + 腾讯云 OSS

  3. 资源

    1. 阿里云OSS
    2. Remotely Save - Github仓库
    3. 价格计算器:存储、下行流量等费用参考
    4. 阿里云OSS计费概述:费用构成方式参考

OSS配置

购买资源包

在阿里云开通oss,购买资源包,点击这个链接进入OSS页面

image-20230718111620485

上面2个选择资源包标准

其他根据个人地区、使用容量、时间选择即可

创建存储桶

购买资源后,进入OSS控制台,创建Bucket(存储桶)

不知道怎么进入,购买资源后,点击这个链接,自动跳转到OSS控制台

image-20230718114815746

选项选择

  • Bucket 名称:创建名字任意
  • 地域:选择自己所在城市(没有选择的话,较近的城市)
  • 存储类型:选择标准存储
  • 读写权限:私有(切记要选择私有!!!)
  • 其他保持默认。

参考图

image-20230718113806024

创建后进入

image-20230718113838264

跨域设置

设置下跨域规则
点击数据安全-跨域设置-创建规则

image-20230718114117041

来源中填写以下网址,并且将所有Methods 勾上(支持所有请求类型),允许Headers填写*

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

填写信息后,点确定保存

image-20230718154156860

用户设置

接下来,要创建允许访问的用户

点击右上角头像,选择AccessKey管理

image-20230718114622679

进入后会提示,选择开始使用子用户AccessKey管理

image-20230718115038389

创建用户,记得勾选上OpenAPI的调用

image-20230718122246030

image-20230718122201825

创建后会显示AccessKey IDAccessKey Secret
记录复制下来,后续要用到(注意:只会显示这一次,之后无法查看,记得保存!!!)

image-20230718122436720

然后设置下这个账户的权限
Pasted image 20230725163224

点击 AliyunOSSFullAccess,会添加到右侧,之后点击确定
Pasted image 20230725163457

权限管理

返回OSS控制台,可以点这里

进入上面刚创建的存储桶

image-20230718123145765

选择权限控制-Bucket授权策略-新增授权

image-20230718123051795

授权用户选择子用户,选择上面用户设置步骤创建的用户
权限给予完全控制

其他保持默认即可

image-20230718123406281

地域节点信息

进入概览,记录下面的信息

说明

不要照着复制粘贴,每个城市不一样,看自己的地域节点

  • 外网访问:oss-cn-shenzhen.aliyuncs.com
  • ECS 的经典网络访问(内网):oss-cn-shenzhen-internal.aliyuncs.com

image-20230718124323473

所有信息

全部配置完,我们获得以下信息

存储桶名字

存储桶名字也自己记录下,后续要用到

如果不知道在哪,可以点击概览,在基本信息即可看到

image-20230718125951585

全部记录在记事本,接下来Obsidian插件配置要用到

  • AccessKey ID
  • AccessKey Secret
  • 存储桶名称(Bucket)
  • 地域节点
    • 外网访问:oss-cn-shenzhen.aliyuncs.com
    • ECS 的经典网络访问(内网):oss-cn-shenzhen-internal.aliyuncs.com

Obsidian

插件安装

  1. CTRL+,打开设置
  2. 选择第三方插件,选择社区插件市场,搜索Remotely Save安装

安装后提示,一个算法提示声明

无需理会,直接同意(不同意也无法使用不是🙄~)

image-20230718124838976

主要配置

这一步主要配置最重要的同步

打开插件选项,选择S3或者兼容S3的服务

image-20230718125115636

接下来开始填写信息

  • 服务地址:填写 OSS 获取的外网访问节点地址
  • 区域:填写 OSS 获取的 ECS 的经典网络访问(内网)地址
  • Access Key ID:用户设置步骤创建子用户时候获取的 ID
  • Secret Access Key:用户设置步骤创建子用户时候获取的 Key
  • 存储桶(Bucket)的名字:对应 OSS 内的 bucket 名字

全部填写后,点击检查可否连接,提示如下即代表配置成功

image-20230718130159469

初次同步

配置完同步的选项后,先进行一次初步同步
点击侧边栏的同步按钮即可,等待提示完成即可

image-20230718130706552

不确定是否同步完成?

如果Obsidian切到后台再切换回来了,错过提示,不确定是否同步完成

可以按快捷键:Ctrl+Shift+I,打开开发者模式,如果看到finsh sync字眼即同步完成

image-20230718141934645

初次同步的必要性

如果要设置自动同步,则必须先至少手动同步过一次,防止产生任何意外

也就是说初次同步是必须的,详见:Remotely Save作者说明

额外配置

设置下自动保存的时间

image-20230718130452385

当然自动同步这一步根据个人需要进行配置,不喜欢的朋友可以不设置

设置自动运行的话,则每到达时间点,就会将文件自动上传到OSS

如果不设置的话,那么需要自己点击侧边栏的按钮进行同步

image-20230718130706552

手机端配置

  1. 安装手机端 Obsidian,可以在官网 Google Play 下载或者在论坛下载
  2. 安装插件Remotely Save
  3. 手机使用扫一扫扫描二维码,会询问是否打开Obsidian,选择是即可,之后配置就会写入进插件,然后将Remotely Save重启下(关闭再打开)即可,关闭Obsidian再开也行
    • 如果扫描不出来,选择复制URL,微信传到手机,再在手机上点击超链接即可
  4. 点击同步按钮,进行同步即可

注意事项

同步前手机端最好是空的Obsidian库(跟电脑库同名),防止产生意外(文件差异冲突)

也就是说,你原有库的话,最好删掉里面所有的md文件

其他说明

这里对于配置、同步注意事项、以及OSS价格进行一些说明

  1. 为防止意外事件Bug(现实断网断电,软件意外等等),执行任何同步操作前请做好数据备份
    • 可以养成定期备份习惯,防止误操作
  2. 此方法同步会丢失笔记真实的最后修改时间,会改变为最后一次上传到 oss 的时间
    • 一般建议在Markdown中的Front-matter区域记录创建时间、更新时间等,因为文件的迁移等操作都会改变最后修改时间,例如你将Obsidian的库剪切粘贴到另外一个地方,所有文件的时间就变了,所以建议采用YAML记录,而非依靠文件的元信息
  3. 同步
    • 同步不会同步.obsidian文件夹的内容,意味着插件、主题、代码片段等不会跟着同步,这些需要在自己手机上配置,或者电脑复制到手机上
    • 同步采用增量同步,不会删除本地文件,也就是说电脑、手机同一文件,电脑删除后,OSS存储空间也会删除,但手机同步时不会删除该文件
    • 在使用过程中,在任何设备保持先同步后编辑的习惯,之后编辑完成再执行一次同步,可以最大程度上避免误操作导致数据丢失。
  4. 费用的说明
    1. OSS付费模式:
      • 按量付费(默认):根据使用量计费,是一种先使用后付费的计费方式(如果公网部署,也是不小心破产的源头…,个人使用倒是无所谓)
      • 资源包:先购买,后抵扣,在费用结算时,优先从资源包抵扣用量(存储、流量等费用),相比较按量付费优惠些,如果超出全部额度抵扣完,超出部分,自动转为按量付费。
    2. 费用 = 存储空间 + 下行流量(下载流量),存储空间也就是我们最开始购买的资源包(9元/40G/1年),正常人购买40G的空间完全够用了,主要费用在于下行流量,费用为(0.5元/GB)
    3. 上行流量(上传)不收费,下行流量(下载)流量收费,也就是说点击同步按钮,从本地上传到OSS不收取任何费用,但是在另外的设备,将该文档下载下来,就要计算费用了,也就是说主要收取流量费用,只要不是同步大量视频,一年费用预估不超过50元(0.5元/G,按100G),一般个人作为笔记同步完全够用了
  5. OSS文档参考
    1. 存储、流量等费用参考:价格计算器
    2. 费用构成方式参考:阿里云OSS计费概述