Backups与版本历史
更新日期:2026-09-07
Plainva在两个层面上保护你的工作:文件版本(编辑和删除时自动生成每个文件的快照)和仓库备份(定期生成整个仓库的ZIP存档,保存在仓库文件夹之外)。两者都无需任何设置即可在后台运行,并可在设置中的备份与版本历史下调整。
文件版本(快照)
每次保存前,Plainva都会先存储上一个状态的快照——作为普通文本副本保存在仓库内的.plainva/backups/下(此文件夹在文件树、搜索和同步中都是隐藏的)。为了避免你打字时产生成百上千份副本,系统会应用一个快照间隔(默认:最多每2分钟生成一个新版本)。删除操作始终会生成快照,与间隔设置无关。
保留策略(可按仓库配置):
- 快照间隔:每次更改时 / 30秒 / 2分钟 / 5分钟 / 10分钟
- 每个文件的版本数:默认100——超过此数量后最旧的版本会被移除
- 最长保留时间:默认90天——更旧的版本会由每日清理任务永久移除(“不限”会关闭此限制)
- 大文件:超过 5 MB 时仅保留最新版本——见下文
重命名或移动文件时,其版本历史会一并跟随。
**为什么大文件的处理方式不同:**一个反复编辑的 90 MB 附件,否则可能在仓库中留下一百份副本——单个文件就占九个 GB。超过上限时,Plainva 保留最新版本而非完整历史,并在每个仓库中提示一次。笔记和普通图片远低于这一上限,不受影响。删除操作始终会完整保存,无论文件多大:已保存文件的新版本仍在磁盘上,而被删除的文件不在——此时快照是唯一的恢复途径。
查看和恢复版本
在文件树中右键点击一个文件(或其标签页),或使用编辑器右上角的**⋮**菜单 → **版本历史…**会打开版本列表——对于在自己窗口中的笔记同样如此,就在那个窗口里:
- 左侧按天分组列出所有快照,附带时间和大小。
- 右侧显示预览;对于文本文件,与当前内容比较会将所选版本与当前内容并排显示(左侧是旧版本,右侧是当前状态)。
- 比较界面称为 比较版本,对版本和冲突副本都相同:左侧始终是笔记,右侧是另一版本;相同的块会折叠,底部统计差异以及将新增或丢失的行数。对于冲突副本,右侧可编辑并可逐行合并;四种出口——采用、两者都保留、丢弃副本、稍后——凡是会丢弃内容的操作都会先询问。
- 恢复会用所选版本替换当前内容。不用担心:当前状态本身也会先被保存为一个快照——因此恢复操作本身也是可撤销的。
- 恢复为副本会将该版本另存为原文件旁边的一个新文件(
Name (Version 2026-07-05 14-30).md),不会改动原文件。
图片同样拥有版本历史(附带预览);其他二进制文件可以在没有预览的情况下恢复。
恢复已删除的文件
由于每次删除都会先生成快照,Plainva可以把已删除的文件找回来:在文件树顶部右键点击仓库名称 → 恢复已删除的文件…(在设置中也能找到入口)。列表会显示所有快照仍然存在、但原文件已不存在的文件——恢复会在原始位置重新创建最新的状态(文件夹会按需重新创建),**版本…**会打开该已删除文件的完整历史。
注意:删除整个文件夹时,它会被移动到操作系统的回收站——这种情况下系统回收站是主要的恢复途径;在Plainva中,你可能只能找到其中所含文件的较旧快照。
自动仓库备份(ZIP)
除此之外,Plainva还会将整个仓库备份为一个ZIP文件——默认在后台每天执行一次(打开仓库时,如果上次备份已超过24小时)。即使仓库文件夹本身丢失或损坏,这也能保护你的数据,因为这些ZIP文件保存在仓库之外:
- 默认目标位置是应用数据文件夹(在设置中的目标文件夹下显示;打开文件夹会直接带你前往)。
- 通过选择文件夹…,你可以改为选择外部磁盘或NAS;默认会切换回应用数据文件夹。如果目标位置暂时无法访问(例如NAS已关闭),状态栏会低调地提示,Plainva稍后会重试。
- 保留的备份数量(默认:7)用于限制数量;同一仓库较旧的ZIP会被自动删除。目标文件夹中的其他文件不会被触碰。
- 立即备份可以随时手动启动一次备份;状态栏会显示运行过程及结果。
ZIP文件命名为VaultName_2026-07-05_14-30-00.zip,包含所有笔记、附件以及你的.obsidian配置——但不包含内部的.plainva文件夹(搜索索引会在下次打开时重建;文件版本被有意排除在ZIP之外)。
**从ZIP恢复:**这个ZIP是一个完全普通的存档文件。将它解压到任意位置,然后在Plainva中把解压后的文件夹作为仓库打开——就这么简单。
设置一览
设置 → 仓库 → 备份与版本历史:
| 设置项 | 默认值 | 含义 |
|---|---|---|
| 自动仓库备份(ZIP) | 开 | 后台每天生成一次ZIP |
| 目标文件夹 | 应用数据文件夹 | ZIP的存放位置,可自由选择 |
| 保留的备份数量 | 7 | 保留这么多份ZIP |
| 快照间隔 | 2分钟 | 打字时最多每隔这么久生成一个新的文件版本 |
| 每个文件的版本数 | 100 | 每个文件的版本数量上限 |
| 最长保留时间 | 90天 | 更旧的版本会被永久移除 |
小贴士
- 文件版本是
.plainva/backups/下的普通副本——如果情况紧急,你也可以不通过Plainva、直接在文件管理器中打开它们。 - Plainva自身的同步功能从不传输
.plainva。但如果你用第三方客户端(例如Nextcloud应用)同步仓库文件夹,这些快照也会一并同步过去——这会占用一些存储空间,但不会造成任何损害。 - 同步冲突另外通过
.CONFLICT文件来保护(参见常见问题与故障排查);版本历史则为此补充了每个文件的时间线记录。
在移动端,如果笔记保存失败,程序会停止切换、重新加载或移除该资料库。输入内容会保留,等待重试。不同资料库中的同名笔记分别维护待保存内容和草稿。保存冲突会保留受影响的文本版本;之后输入的内容会另行保存,或保留为另一份冲突副本。两个界面都会按顺序执行草稿日志的写入和删除,防止延迟完成的操作删除较新的副本。冲突副本保存失败时,不会替换移动编辑器中的文本。
只有在所有选定文件均可读取且完整归档已保存后,ZIP 备份才算成功。失败的备份不会删除以前的归档,也不会改变上次成功备份的时间。移动端的自动备份错误会注明资料库名称;可在资料库设置中点击“立即备份”重试。两个平台都会包含 .obsidian 等隐藏的用户配置。.plainva、.git、.trash 和 node_modules 目录在任何层级都会被排除。如果在同一秒内创建多个归档,新文件名会添加 _001 这样的后缀。
只有确认写入后,保存才会显示为完成。保存过程中输入的文字会保持未保存状态,直到其对应版本也已写入。桌面端草稿属于各自的编辑器会话:旧会话的保存完成不会删除新打开编辑器的草稿。如果同时收到外部修改,Plainva 会合并兼容的修改;发生冲突的文字会保留在草稿和冲突副本中。