数据历史

type
status
date
slug
summary
tags
category
icon
password
 

概述

数据历史主要用于保证数据安全,即使发生误操作也能通过历史进行数据回滚。数据历史分为两个功能:
  • 文件历史:按原始文件方式保存在 工作空间/history/ 文件夹下,人类可读,可手动拷贝到 data 对应位置恢复
  • 数据快照:按文件分块、加密并压缩保存在 工作空间/repo/ 文件夹下,人类不可读,无法手动恢复
数据快照除了用于本地数据历史,还用于云端数据同步

文件历史

文件历史生成规则

  • 每隔 10 分钟会对这 10 分钟内更新过的文档生成历史(间隔时间可通过 设置编辑器历史生成间隔 进行调整),历史文件夹后缀为 -update
  • 云端同步时,本地被云端覆盖的数据会生成历史,历史文件夹后缀为 -sync
  • 手动删除笔记本、文档和资源文件时会生成历史,历史文件夹后缀为 -delete
  • 使用优化排版时会生成历史,历史文件夹后缀为 -format
  • 使用 搜索替换 时会生成历史,历史文件夹后缀为 -replace
  • 在大纲面板拖拽大纲项目时会生成历史,历史文件夹后缀为 -outline

浏览文件历史

  • 点击顶部工具栏 数据历史 按钮或者 Alt+H 可打开数据历史界面,切换到 文件历史 页签,如果没有历史数据显示,可以试下该界面的 重建索引
  • 在文件系统 工作空间/history/ 文件夹下浏览

通过文件历史回滚

在数据历史界面左侧时间列表栏中,每一条历史记录右侧都有一个回滚按钮,点击以后将弹出确认对话框,如果确认回滚的话将使用文件历史覆盖现有文件。
如果有非常多的文件需要回滚,建议手动在文件系统上复制。历史文件夹的内部结构和 data 内部结构一致,比如:
  • 笔记本删除:2022-05-01-091021-delete/20210808180117-czj9bvb/,即 历史生成日期-{操作}/{笔记本 ID}/
  • 文档删除:2022-05-01-091209-delete/20210808180117-czj9bvb/20200812220555-lj3enxa.sy,即 历史生成日期-{操作}/{笔记本 ID}/{文档路径}
  • 资源文件清理:2022-05-01-095621-clean/assets/image-20220501091157-qccp87e.png,即 历史生成日期-{操作}/assets/{资源文件名}
 
手动回滚操作步骤:
  1. 退出思源,然后全量复制备份一下整个工作空间,避免后续误操作导致数据丢失
  1. 进入 工作空间/history/ 文件夹,将 历史生成日期-{操作} 文件夹下的数据直接复制到 data 文件夹进行覆盖
  1. 启动思源后手动执行重建索引

清理文件历史

默认自动保存最近 30 天生成的文件历史,可通过 设置编辑器历史保留天数 进行调整,超过该期限的文件历史会被自动删除。
如果你想清空所有文件历史数据,可以点击 设置编辑器清空所有历史,或者手动删除 工作空间/history/ 文件夹,然后在 文件历史重建索引

数据快照

初始化密钥

第一次使用数据快照前需要在 设置 - 关于 中初始化 数据仓库密钥。
初始化密钥有三种方式:
  • 导入密钥:将其他设备上的密钥字符串复制到此粘贴导入
  • 自动生成密钥:使用随机数生成密钥,该方式只需在一台设备上执行一次,其他设备使用
    • 导入密钥
  • 通过密码生成密钥:使用自定义的密码短语生成密钥,该方式需要在所有设备上都使用相同的密码短语
总而言之,请务必保证所有设备都使用相同的密钥,否则数据快照将无法跨设备使用,比如无法通过云端同步数据快照。

创建数据快照

  1. 点击顶部工具栏 数据历史 按钮或者 Alt+H 可打开数据历史界面
  1. 切换到最后一个页签 数据快照
  1. 点击 创建快照,填写 备注 并确认
    1.  
浏览数据快照时只能通过快照创建时间和备注进行区别,所以备注信息应该尽量详细一些,以备后续能够准确识别不同的数据快照。

浏览数据快照

创建完数据快照后可以在左侧看到快照时间列表,点击不同快照以后可以浏览其备注。

回滚数据快照

在快照时间列表条目右侧都有一个回滚按钮,点击以后将弹出确认对话框,如果确认回滚的话将使用快照数据完全替换现有数据。

清理数据快照

  • 设置 - 关于 - 数据仓库清理 将删除所有未引用的快照和相关数据对象。“引用的快照”指的是 repo/refs/ 下指向的快照:
    • latest​ 指向最新一个快照
    • tags/*​ 指向手动标记的快照
  • 手动删除 工作空间/repo/​​ 文件夹可以清空全部数据快照

忽略文件

如果需要在创建快照时忽略一些文件,请在文件系统上创建或编辑文本文件 工作空间/data/.siyuan/syncignore​, 其中每一行使用 data 文件夹的相对路径进行配置,表示忽略文件或文件夹的路径,支持通配符。例如:
  • 20210808180117-6v0mkxr/**/*: 忽略 data/20210808180117-6v0mkxr 笔记本
  • assets/*.pdf:忽略 data/assets/ 下的 PDF 文件
 
⚠️
符号链接和隐藏文件不会被快照
 
上一篇
PDF 标注
下一篇
内核参数
Loading...

思源笔记用户指南

文章列表
思源笔记用户指南
🍼新手引导
✏️基础操作
⛓️基础块
🧬高级块
📊数据库
🔡代码片段
🔍搜索进阶
🚀高级操作
💎会员特权
💠功能特性
🖼️主题推荐
🔌常用插件
💬交流区