数据同步
type
status
date
slug
summary
tags
category
icon
password
网址
思源笔记是一款“本地优先”的知识管理工具,数据默认保存在本地,但也提供多种数据同步方式,帮助你在多个设备间保持笔记一致性。无论是手机、平板、还是其他电脑设备,只要设置正确,思源都能实现较为可靠的数据同步。
同步的细节详见 思源笔记同步机制
1️⃣ 官方云同步(官方 S3 + 增值订阅)
订阅官方云同步服务(订阅费 148 元/年,教育优惠 96 元/年),使用官方提供的 S3 存储同步 repo 数据。
优点:
- 自动、稳定、无配置,支持多设备自动同步。
- 配合官方平台还可微信提醒、收集箱等功能。
- 官方提供 8 GB 存储空间。
缺点:
- 需付费订阅。
- 空间较有限(8 GB)。
适用场景:想要省心、稳定自动同步,且笔记量中等用户。
2️⃣ 第三方 S3 / WebDAV(付费解锁功能)
方式简介:
购买“功能特性”解锁(约 72 元一次性),配合阿里云 OSS / 腾讯云 OSS / 七牛 S3 / 自建 MinIO 等,或使用支持 WebDAV 的网盘(Koofr、NAS等)。具体教程详见思源笔记S3同步
优点:
- 灵活自主,存储空间按需扩展(可选免费配额如七牛 50 GB)。
- 性能较好,尤其 S3 稳定、速度快。
缺点:
- 需配置 S3 或 WebDAV 服务,设置门槛较高。
- WebDAV 兼容性不如 S3;部分 WebDAV 服务(如坚果云)支持不稳定。
适用场景:
- 技术用户,愿意配置云服务或 NAS 自建同步。
- 追求成本优化,使用第三方免费云储存。
WebDAV:尽管坚果云支持 WebDAV,但由于同步频率频次的关系,坚果云本身的限制无法很好支持,故不支持使用坚果云同步。
3️⃣ Git 同步 / 手动导入导出
方式简介:
使用 Git 客户端或定期导出
.zip
/Data
包备份手动同步。Git 可整合进 CI 流程。优点:
- 免费工具,配合 GitHub/GitLab 可远程同步。
- 支持版本控制、协作。
缺点:
- 不适合实时或自动同步。
- 配置复杂,需要学习 Git 使用流程。
适用场景:
- 熟悉 Git 的开发者或团队协作记笔记。
- 偏重版本管理、备份而非实时同步。
数据同步指的是在多个设备上保持
工作空间/data/
文件夹数据一致,包括资源文件、模板、挂件以及笔记本数据。使用方式
初始化数据仓库密钥后如果一切正常就已经配置好同步了。如果你不太熟悉同步配置,建议通过点击同步按钮打开同步配置向导,通过向导进行配置会更简便一些。
- 如果需要暂停同步,可关闭选项
设置
→云端
→启用云端同步
注意:
- 启用同步前,请确保参与同步的所有设备系统时间一致
- 如果数据量较大,建议通过设置中的
导出
→Data
导出数据包,然后将该数据包通过手动拷贝或者其他方式发送到新设备上导入
→Data
,并在新设备上 ,最后再配置同步
同步模式
在
设置
→ 云端
→ 云端同步模式
中支持三种同步模式:- 自动同步
- 启动和退出时会进行一次同步,使用中数据不再变动后 30 秒进行一次同步
- 由同步算法决定数据合并和覆盖,请参考下述工作原理介绍
- 手动同步
- 仅启动和退出时进行一次同步,使用中需要手动触发同步
- 由同步算法决定数据合并和覆盖,请参考下述工作原理介绍
- 完全手动同步:启动和退出时均不同步,完全手动控制同步时机和同步方向
自动/手动同步模式工作原理
思源通过对比云端数据快照和本地数据快照进行相应操作:
- 如果快照相同则忽略本次同步
- 如果快照不同,则将本地距离上次同步的变更上传到云端,将云端最新的变更合并到本地
- 如果两端的变更没有冲突则直接合并
- 如果存在文件冲突,则以本地为准覆盖云端,同时拉取到的云端冲突文件会归入到数据历史中
自动同步时间间隔算法描述如下:
- 数据变动后 30 秒如果不再发生变动则进行一次对比,如果继续发生变动则顺延 30 秒
- 没有数据变动则按 5 分钟、8 分钟、16 分钟、32 分钟……递增间隔
自动同步模式场景例举
从上述工作原理我们可以得知,思源仅支持在多设备上交替同步数据:设备 A 上同步完成以后设备 B 上再进行同步。无法支持多设备同时同步,这样会发生无法预期的数据覆盖。
正常场景
- 在设备 A 上编辑后执行同步(通过自动或者手动触发同步),此时云端数据会被设备 A 数据覆盖,既云端和设备 A 保持数据一致
- 在设备 B 上执行同步,此时设备 B 数据会被云端数据覆盖,即云端和设备 A、B 保持数据一致
- 设备 B 上编辑后再次执行同步,此时云端数据会被设备 B 数据覆盖,既云端和设备 B 保持数据一致
- 在设备 A 上执行同步,此时设备 A 数据会被云端数据覆盖,即云端和设备 A、B 保持数据一致
该场景下,使用同步的过程是在设备 A、B 上交替进行的,这样能够保证数据同步符合预期正常完成。
冲突场景
- 在设备 A 上编辑 a 文件后同步
- 在设备 B 上编辑 a 文件后同步
- 此时云端 a 文件会被 B 设备上的 a 覆盖,同时在 B 设备上生成之前 A 设备 a 的历史
注意:
- 睡眠或关机等突然断网的情况下不会触发同步,请手动点击同步按钮进行同步
- 请勿同时使用第三方同步盘和思源同步,可能会导致数据损坏
- 符号链接和隐藏文件不会被同步
- 自动同步模式下,如需退出,请使用正常的退出应用(比如移动端 APP 不要使用滑动移除,桌面端不要使用结束进程强制关闭)方式以保证数据同步执行
- 数据同步前进行数据快照如果耗时超过 12 秒会提示清理数据仓库,如果需要改动默认耗时,可通过如下两种方式
- 环境变量
SIYUAN_SYNC_INDEX_TIMING
,例如SIYUAN_SYNC_INDEX_TIMING=30000
,单位是毫秒 - 直接修改 工作空间/conf/conf.json 中的
repo.syncIndexTiming
最小值只能配置为
12000
(12 秒),最大值不限制;启动时会优先读取环境变量覆盖 conf 文件中的值。上一篇
思源笔记视频教程
下一篇
文档树
Loading...