思源笔记的自制备份、同步与云存储

本贴最后更新于 505 天前,其中的信息可能已经水流花落

1、什么是备份、同步?

备份本质上是一种延迟较大,主要目的在于数据保全的同步行为

同步行为可分为八种类型:

**单向同步:**任务执行时,源目录中新建和更新的文件将被复制到目标目录中,源目录中删除的文件将在目标目录中删除。并且不理会目标目录自主发生的文件变化。

**双向同步:**任务执行时,源目录或目标目录中新建、更新、删除文件的操作将在另一个目录中被执行(实时同步的原理)。

**镜像同步:**任务执行时,源目录中新建和更新的文件将被复制到目标目录中,源目录中删除的文件将在目标目录中删除。并且去除目标目录自主发生的文件变化,恢复成和源目录一致。

**移动同步:**任务执行时,源目录中的全部文件将被移动到目标目录中,源目录被清空,目标目录中会保留所有在源目录中曾经出现过的文件且最新。

**最新同步:**任务执行时,源目录中新建和更新的文件将被复制到目标目录中,并且删除目标目录中任务之前执行所复制的全部文件,目标目录中只保留源目录中最新变化的文件。

**累加同步:**任务执行时,源目录中新建和更新的文件将被复制到目标目录中,源目录中删除的文件不会在目标目录中删除,目标目录中会保留所有在源目录中曾经出现过的文件目最新。

**增量备份:**任务执行时,将在目标目录中创建一个子目录来保存源目录中新建和更新的文件。虽然每次只备份了最新变化的文件,但需要时可以恢复出每次备份时完整的源目录。首次执行会进行一次完整备份。

**完全备份:**任务执行时,将在目标目录中创建一个子目录来保存源目录中所有的文件。每个子目录即为每次备份时完整的源目录。

日常使用中,我们最常接触、使用的是前三种,即单向同步、双向同步与镜像同步。如果不在目标目录进行增删改,单向同步与镜像同步等效。

2、为什么不能简单使用百度网盘进行自动备份?

百度网盘的自动备份功能原理类似本地同名文件(夹)的复制与覆盖

与单向同步相同的是,在任务执行时,源目录中新建和更新的文件将被复制到目标目录中,并且不理会目标目录自主发生的文件变化;

不同的是,源目录中删除的文件不会在目标目录中被删除,而是会继续被保留。

image

image

image

长此以往,将导致百度网盘自动备份的文件当中,留存有大量的应删而未删的垃圾文件,最终使得备份文件失去使用价值,特别是思源笔记大量使用块引用的情况下,若用此备份进行恢复,势必造成大量的内容冲突和错误。

3、怎样更好的利用百度网盘进行备份、同步?

核心思路:引入第三方软件进行备份、同步,仅借用百度网盘进行云存储。

1、软件选择参考

1.1 我参考了市面上的多款第三方备份软件,并重点试用了其中两款**(仅限于免费功能)**,以网上口碑、软件大小以及 360 评价作为选择标准。

image

1.2 先用的 Disksync,一款老牌备份软件,但说实话,个人比较失望,一方面是免费版只能建两个同步任务,并且任务时长限制 30 分钟,我的思源笔记 data 文件夹已经有近 1 个 G,加上没开百度网盘会员,根本传不完,相当于是逼着用户进行订阅(129/年,199/终身),另一方面是软件界面、功能选择等,都比较粗糙。

image

1.3 后用的 FileGee,个人体验非常好,一方面是免费版可以建 8 个同步任务,没有任务时长限制,二是软件功能选择丰富、界面清爽,与 Disksync 形成鲜明对比。

另外,个人在前后的对比使用当中发现,FileGee 不管是本地覆写还是网盘上传,都比 Disksync 要快很多,个人猜测原因或在于软件的底层运作逻辑不一样——按照 FileGee 的说法,每次任务的首次执行会直接比较源和目标的差异,此后执行都是和前次执行的记录进行比较——比较记录肯定比直接搬运文件、比较文件要快得多。

image

2、具体操作:以 FileGee 为例

1、软件下载:https://cn.filegee.com/download.html,选择最左边的“免费版下载”。

image

2、安装软件并打开,新建任务,选择源文件位置与路径,选择目标文件位置与路径(百度网盘需要应用授权),设置好自动执行时间后,如果没有其他特别需要,可以一路“下一页”或者直接点击“完成”。

image

image

image

注:尽量事先设置好网盘目录的文件路径,比如在“FileGee 文件同步备份系统”后面加上"\siyuan\data"的文件名。

image

image

3、已建的定时任务可以随时执行(右键也可以弹出执行按钮):

image20230704120357f9a6y97.png

3、进阶操作:

核心思路:以大容量 U 盘为中转站,利用 FileGee 连接百度网盘(不需要启用很占资源的百度网盘),实现“321”备份要求的同时,获得免费的同步服务,效果接近自建第三方服务器和思源付费服务——本人的思源笔记 data 文件夹现近 1G 大小,首次执行之后的本地与 U 盘之间的单向同步数秒内完成自动执行的本地与 U 盘之间的镜像同步、U 盘与网盘之间的单向同步时长约 3 分钟。

(下面以我的日常备份、同步流程为例)

一、同步前要了解的内容1

场景 1:常用电脑的同步与备份任务安排

同步任务 1:主要用于一段连续的笔记动作或重要笔记结束后的手动备份

名称:1-思源 data:本地至 U 盘-手动

执行方式:单向同步

源目录:C:\Users\wangx\Documents\siyuan\data\ (思源本地文件当中的 data 文件夹目录)

目标目录:D:\backup\siyuan\data\ (根据你的 U 盘盘符 F/G/H,自行调整)

自动执行:不启用(手动)

其他选项看个人喜好,自行调整或直接默认即可。

同步任务 2:目的在于实现思源本地文件自动备份至 U 盘

名称:2-思源 data:本地至 U 盘-30min 镜像

执行方式:镜像同步

源目录:C:\Users\wangx\Documents\siyuan\data\ (思源本地文件当中的 data 文件夹目录)

目标目录:D:\backup\siyuan\data\ (根据你的 U 盘盘符 F/G/H,自行调整)

自动执行:实时,可设置延迟时间 0-1800 秒(我选的最大值 1800 秒,即在思源 data 文件夹确定没有变化 30 分钟之后,进行镜像同步,以免同步过于频繁,即便思源笔记文件真的出错,最多也只有 30 分钟以内的损失)

其他选项看个人喜好,自行调整或直接默认即可。

同步任务 3:目的在于通过 U 盘中转,定时与百度网盘同步

名称:3-思源 data:U 盘至网盘-定时 17+22 时

执行方式:单向同步

源目录:D:\backup\siyuan\data\ (根据你的 U 盘盘符 F/G/H,自行调整)

目标目录:选择个人的百度网盘文件目录

自动执行:每日,设置触发时间(可根据个人的工作和作息节奏自行设置)

其他选项看个人喜好,自行调整或直接默认即可。

呈现效果:

image

常用电脑日常使用流程:

常用电脑开机后插上 U 盘,启动思源笔记的同时,启动 FileGee 当中的任务 1-2-3(可在“顺序关联”中进行任务前置与后续关联,单独启动其中一项任务进行关联执行即可),除了连续的笔记动作或重要笔记结束后可选择手动立刻启动任务 1 进行备份外,不用再花费任何注意力。

场景 2:备用电脑的同步与备份任务安排

同步任务 0:完成 U 盘与备用电脑的笔记文件同步

名称:0-思源 data:U 盘至本地-手动

执行方式:单向同步

源目录:D:\backup\siyuan\data\ (根据你的 U 盘盘符 F/G/H,自行调整)

目标目录:C:\Users\wangx\Documents\siyuan\data\ (思源本地文件当中的 data 文件夹目录)

自动执行:不启用(手动)

其他选项看个人喜好,自行调整或直接默认即可。

然后布置和步骤 1 当中一样的任务 1、2、3,呈现效果如下:

image

备用电脑日常使用流程:

备用电脑开机后插上 U 盘,启动思源笔记的同时,首先启动 FileGee 当中的任务 0,待文件同步结束后,再启动任务 1-2-3 或 2-3 即可(可在“顺序关联”中进行任务前置与后续关联,单独启动其中一项任务进行关联执行即可),与场景 1 相同,除了连续的笔记动作或重要笔记结束后可选择手动立刻启动任务 1 进行备份外,不用再花费任何注意力。

4、重点说明

1、必要条件

大容量的品质 U 盘(现在很便宜)+ 良好的网络环境 + 电脑可以长时间接入 U 盘

2、同步执行方式

a、尽量选择笔记、电脑的使用空当期进行同步操作,或者是发生定时同步时,尽量少有笔记增删改动作,以减少出错可能。

b、设置任务的自动执行方式时,酌情勾选“软件启动时执行任务”、“接入移动存储设备或网络映射时自动执行任务”选项——为防任务冲突或者执行出错,我都没有勾选。

c、本方法仅限于电脑使用场景,若有移动端的同步需要,请另寻他法。

3、关于同步时长

和电脑处理器性能、U 盘接口&电脑 USB 接口标准、data 文件夹大小&新增删改笔记数量、所在网络环境均有关系,本人实测的同步时长仅供参考。


  1. 一、同步前要了解的内容

    1.1 同步的内容

    首先,需要明确思源笔记的同步是指的在多个设备上保持 工作空间/data/ 文件夹数据一致,包括资源文件、模板、挂件以及笔记本数据,不包括主题、图标、设置快捷键等。

    1.png

    2.png

    1.2 同步的原理

    其次,需要了解一下同步原理。作为本地优先的笔记软件,和云端优先的还是不太一样,根据官方的介绍,思源的同步原理如下:

    思源通过对比云端数据快照和本地数据快照进行相应操作:

    • 如果快照相同则忽略本次同步

    • 如果快照不同,则将本地距离上次同步的变更上传到云端,将云端最新的变更合并到本地

      • 如果两端的变更没有冲突则直接合并
      • 如果存在文件冲突,则以本地为准覆盖云端,同时拉取到的云端冲突文件会归入到数据历史中

    自动同步时间间隔算法描述如下:

    • 数据变动后 30 秒如果不再发生变动则进行一次对比,如果继续发生变动则顺延 30 秒
    • 没有数据变动则按 5 分钟、8 分钟、16 分钟、32 分钟……递增间隔

    如果需要在创建快照时忽略一些文件,请在文件系统上创建或编辑文本文件工作空间/data/.siyuan/syncignore, 其中每一行使用 data 文件夹的相对路径进行配置,表示忽略文件或文件夹的路径,支持通配符。例如:

    • 20210808180117-6v0mkxr/**/*: 忽略 data/20210808180117-6v0mkxr 笔记本
    • assets/*.pdf:忽略 data/assets/ 下的 PDF 文件

    注意:

    • 符号链接和隐藏文件不会被快照
    • 如果忽略文件里设置了某个笔记本或笔记,那笔记本或笔记也不会生成数据快照。

    如果不能理解,那只需要记住,思源笔记的同步是交替的,不能多个设备同时进行。用我常用的场景举例:

    1. 在公司笔记本上编辑后执行同步(通过自动或者手动触发同步),此时云端数据会被笔记本数据覆盖,生成一个云端数据快照,既云端和笔记本保持数据一致
    2. 晚上回到家里在台式机上执行同步,此时台式机上的数据会被云端数据覆盖,即家里台式机和云端、公司笔记本保持数据一致
    3. 在家里台式机上编辑新内容后再次执行同步,此时云端数据会被台式机新数据覆盖,既云端和台式机新的数据一致
    4. 第二天上班在公司笔记本上执行同步,此时公司笔记本上数据会被云端数据覆盖,即笔记本和云端、家里台式机新的数据保持一致

    该场景下,使用同步的过程是在笔记本和台式机上交替进行的,这样能够保证数据同步符合预期正常完成。但以下场景就会有冲突:

    1. 在公司笔记本上编辑 a 文件后同步,此时生成了云端快照 1
    2. 打开手机端(或其他设备)的思源笔记,在未完成同步的前提下编辑 a 文件后同步
    3. 此时思源发现云端快照 1 和手机端思源笔记的快照冲突,会以手机端的思源笔记的数据为准覆盖云端,生成带有 merge 字样的云端快照 2,同时在手机端上生成之前笔记本 a 的历史文件
    4. 此时,如果公司笔记本是自动同步的,在极短的间隔内,那它会以手机端生成的云端快照 2 为最新数据,同步覆盖本机,并把本机原先记录的内容作为冲突文档生成在本机,与原理不符,出现了不可预期的覆盖方向。
    5. 综上,不能同时,或短时间(几十秒内)两个设备同步。使用交替同步!!!

    这里附上开发者原话:

    3.png

    注意事项:

    • 睡眠或关机等突然断网的情况下不会触发同步,请手动点击同步按钮进行同步。
    • 移动端在同步模式是自动、手动同步的情况下切换后台会执行同步(完全手动同步不会),但如果直接杀后台的情况同步无法完成,请在此之前先手动点击标题栏同步按钮进行同步。
    • 符号链接和隐藏文件不会被同步。

    1.3 同步的方法

    最后,请注意,本文所说同步仅包括使用官方同步或官方提供的支持 S3、WebDAV 协议的同步。简单来说,就是可以直接在思源笔记软件-设置-云端中设置的同步。

    4.png

    注意事项:

    • 支持 S3、WebDAV 的第三方同步目前是免费公测,开发者表示 2024 年可能会收费,费用不会很高。
    • 不支持直接使用第三方同步盘(iCloud、Onedrive、WPS 云盘、百度云同步盘等)同步。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22353 引用 • 89452 回帖
3 操作
wangxi2087 在 2023-07-06 14:04:39 更新了该帖
wangxi2087 在 2023-07-06 09:22:24 更新了该帖
wangxi2087 在 2023-07-06 08:57:26 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...