MN 提供 4 种自动备份位置(本地 / WebDAV / 百度网盘 / Google Drive)+ 完整导出整库包 + CloudKit 跨设备同步。下面是每种怎么开、各能放多大、出问题怎么办。
SETUP · 各渠道怎么开
下面 5 张卡片,每张一种存放位置或导出方式。都在同一个入口设置:iPad / iPhone / Mac 上打开 MN → 设置 → 备份与恢复。
不依赖网络 · 最稳 · 不占云盘配额
备份包格式:.marginbackupall。包文件归你管——存哪由你决定,系统不强制上传任何云端。
群晖 / 自建 WebDAV / 坚果云 / 公司私有云
https://dav.example.com/)、用户名、密码支持 HTTPS 自签证书;坚果云需要用"应用密码"而不是登录密码;群晖 / 威联通的内置 WebDAV 直接用账号即可。
国内首选 · 容量大 · 扫码登录
备份包会放在你百度网盘的 MarginNote 专属目录下;普通用户百度网盘容量足够放多个学习集的完整备份。
海外首选 · OAuth 授权 · 跨设备访问
备份包大小受 Google Drive 配额限制(免费 15 GB,含 Gmail / Photos);建议把"包含原始 PDF / 视频"按需勾选,纯笔记数据通常 < 200 MB。
长期就有 · 手动触发 · 迁移到新设备最稳
MarginNoteBackup(yyyy-MM-dd-HH-mm-ss).marginbackupall,存到任意位置.marginbackupall 文件 → 导入这是 MN 一直就有的机制,不依赖 4.3 后的新架构。自动备份建议平时跑着,完整导出建议每隔几周手动做一次放外部 SSD。
📌 设置入口:MN → 设置 → 备份与恢复。可以同时开多种,建议至少开"本地 + 一个云端"——一份在你能控制的位置,一份在云端做异地容灾。
SYNC · iPad ↔ Mac 自动对齐
这套是 Apple 自家的 iCloud 同步,不依赖第三方账号。跟"备份"是两件事——CloudKit 让你的 iPad 和 Mac 实时对齐当前最新状态;备份是把历史快照存到你能找回的地方。两个都开最稳。
设置 → 云同步 → 选 CloudKit 同步。
默认登录哪个 iCloud 账号就用哪个;同一 Apple ID 的设备会自动接入。
用:iPad + Mac 双机轮流学习;希望随手切设备继续。
不用:单设备用户;笔记库非常大且 iCloud 配额已满。
若出现卡顿或异常:设置 → 云同步 → 重置同步缓冲——所有数据会重新比对(有二次确认,按了不会丢数据)。
可选"为每个学习集手动启用"或"自动启用":手动给你更细的控制(不重要的学习集不占配额);自动适合"新建一个就同步一个"的用户。
真实价值在它失败时
同步备份系统的真实价值不在它正常工作时,而在它出问题时。这一节讲清楚每种失败模式的恢复路径——你应该知道当 things go wrong 时按哪个按钮。
正在检查更新 / 准备下载 / 下载中(n/m)/ 准备上传 / 上传中(n/m)/ 同步完成 / 同步失败
每个状态对应实际的同步阶段——没在猜,在算。
检测到版本变更时弹三选:使用远程 / 合并 / 保留本地。默认选"合并",合并前自动出 pre-merge 备份。
CloudKit 同步出现卡顿或异常时,可在 设置 → 云同步 重置同步缓冲——所有数据会重新比对。是核选项,按钮有二次确认。
每次手动触发同步前会自动备份本地数据库到 Documents/ManualSyncBackups,保留最近 5 份。冲突再严重,最近 5 次手动同步前的状态都还在。
用过 CloudKit 同步后想清空云端可见数据,可在设置里手动删除 CloudKit zones——释放 iCloud 配额,不影响本地。
云盘同步的对象池可手动触发垃圾回收(GC)+ 基线版本修复——解决长期使用产生的孤儿对象与基线缺失问题。
诚实边界
"绝不丢数据"听起来好——但工程上没有任何系统能这么承诺。MN 选择不夸口,而是把每层兜底机制讲清楚。
同步是基于变更追踪的最终一致——多设备会在几秒到几分钟内对齐。不是 Google Docs 那种"两个人同时编一段、字符级合并"。MN 不做实时协同。
云盘同步的合并算法是 manifest / hash / 时间戳的对象级合并——比 last-write-wins 强,但目前没有完整共同祖先(common ancestor)查找。所以"git for study notes"是设计灵感比喻,不是字面对等于 git。
"架构本身保护数据"建立在自动快照默认开启的前提上。如果你手动关掉自动快照、且没跑过任何手动 / 基线快照,崩溃前一秒的状态代码侧没有保证能恢复。可恢复的是"最近一份完整快照"。
云盘服务故障 / 设备彻底损坏 / Apple ID 异常 / 操作误删——都可能发生。新架构 + 自动备份 + 完整导出层层兜底降低风险,但不打"绝对安全"包票。建议定期完整导出 + 一份保留在你能控制的位置(外部 SSD / 自己的 NAS / 不同账号的云盘)。
关于版本:本页讲到的"新数据架构"自 MN 4.3 起引入。"云盘同步"是基于这套架构的下一步,目前 Coming Soon——具体放出时间以官方 release note 为准。
下一代 · 同步
下一代同步系统——和 CloudKit 同步是互斥关系(设置里二选一)。MN 4.3 起把同步系统重做了一遍,"脑图乱掉""手写图层错位"这类结构性问题在新一代同步下不再发生。技术细节见底部"FOR THE CURIOUS"折叠区。
iCloud Drive · 百度网盘 · Google Drive
代码里为 OneDrive / Dropbox 预留接口(暂时隐藏),WebDAV 仅备份支持,不在云盘同步选项中。
每次变更生成不可变快照,versionNumber + deviceId + 内容 hash 都在 manifest 里。
关键差异:远端文件传输仍可能半失败,但表现为缺对象或索引损坏(可修复),不会出现"布局指向不存在节点"的字段混杂。
检测到版本冲突时 UI 弹三选:使用远程 / 合并(默认)/ 保留本地。
合并前自动创建 Pre-merge 备份——即便合并选错,原始数据还在。
新机首次开 App 时拉取远端快照,按 manifest 重建本地数据;可选下载原始文档(PDF/视频)。
对象损坏时可重建索引,远端缺对象时可触发 baseline repair。
📌 当前状态:代码已完成,UI 由内部开关 mn5SyncSupported 门控;具体放出时间另行公告。
下面这部分是给好奇 / 工程背景的读者看的——讲清楚 MN 4.3 引入的新数据架构是什么、为什么这么改、跟之前的 CloudKit 同步有什么本质区别。不影响日常使用——上面那些步骤照做就行。
MN 3.x → 4.2:CloudKit 同步(record 级)+ 完整导出 → MN 4.3+新一代数据架构 · 自动备份 · 本地完整性 → Coming Soon:云盘同步
体系架构
中心是数据架构本身(MN 4.3 引入),它在三处被复用:本地完整性安全网 / 自动备份 / 云盘同步(Coming Soon)。下方完整导出和 CloudKit 同步是 MN 4.2 及之前就存在的旧机制,与新架构并存。
MN 4.3+ 引入 · 底座
从 MN 4.3 起,MN 引入了一套版本化数据底层——不只是"备份"或"同步",而是被三处复用的底座。这是 MN 这一代的架构升级。
内容寻址 SHA-256
每条数据按 SHA-256 hash 寻址存储——相同内容只存一份。文件用 writeToFile:atomically:YES;索引插入失败时删除刚写入文件回滚。
snapshot 级原子单元
每个学习集快照是一个 Manifest,记录 versionNumber + deviceId + 内容 hash + 依赖关系。同步和恢复以 manifest 为单位,不再是字段或 record 级。
元数据原子提交
快照元数据写入用 SQLite transaction。要么这次快照完整入库,要么没出现——不会留下半成品 manifest。
⚠ 这套架构不是 CoreData + 对象池 + 快照 DB 的全局单事务——是"对象池写原子 + manifest 写原子"两件事各自原子。整体体验是版本库式安全网,不是数据库级 ACID 日志。
MN 4.3+ 应用 ① · 本地完整性
"丢手写""脑图乱掉""崩溃后笔记不见"是 MN 用户长期反馈的几大痛点。新架构在本地就以快照形式承接编辑——不需要你为它配置任何远程目的地。
每次编辑学习集 → 标记 dirty → 编辑停下 5 分钟 → 系统在本地版本库出一份不可变快照。
对象内容 hash 校验失败时——比如硬盘扇区坏 / 文件损坏——可以触发 verifyIntegrity + rebuildIndex 重建对象索引。
修复缺失基线版本(推荐),仅在检测到未覆盖学习集时显示⚠ 诚实边界:上面这套保护建立在自动快照默认开启的前提上。如果你手动关掉自动快照、且没有跑过任何手动 / 基线快照,那么"崩溃前一秒的状态"代码侧没有保证能恢复。架构提供的是最近一份完整快照之内的回溯能力,不是逐键不可丢失。
MN 4.2 之前 vs MN 4.3 起 · 数据原子性
这两种失败的恢复成本完全不同:"乱掉"需要用户人工辨认哪份数据是错的、可能要回滚或手工修复;"缺对象"是可见的、可定位的、可自动修复的——它告诉你哪个 hash 没下载完,重新拉一次就好。这就是 MN 4.3 引入新数据架构带来的差别。
下载 MarginNote 4,把你的笔记交给一个把"数据安全"当作明确的工程任务来做的工具。