S3 换源后发现丢失了部分笔记,有办法找回吗?

从我自己搭建的 MinIO 换到了 CF R2,方法是直接在思源里更换了 endpoint 和其他相关的 S3 桶信息,连接正常之后点同步按钮。

可能我第一次同步的电脑上数据不够新?也许 R2 上的数据不够新?我不确定,总之同步之后才发现有一段时间的笔记丢失了。

然而,好像又不是这段时间的笔记全都丢了,因为我看到部分 Daily 笔记还在,而这些笔记的链接无法找到目标,比如我的 Daily 里都会有“今日笔记”这条笔记名称的链接,但“今日笔记”这条笔记丢失了。

我估计 MinIO 上这些笔记还在,只是现在设备不在我身边,Tunnel 访问 S3 现在受限,现在访问不太方便。

想问下想要恢复这些数据,可以尝试的操作是?有没有什么其他风险?

  • 思源笔记

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

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

    25985 引用 • 107793 回帖

相关帖子

欢迎来到这里!

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

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

    可以试试通过 数据历史 - 数据快照 回滚恢复。

    1 回复
  • Whacka via macOS

    感谢,我试了下找到关键节点了,确实发生在转移到 R2 的日期,删除了 400+ 个笔记。。。

    请问下回滚应该意味这之后的修改都被放弃了吧?有没有两边都能保全的方法?

    3 回复
  • 88250 1 1 评论

    再弄一个工作空间,回滚以后手动拷贝 data 文件夹合并。

    1 回复
    明白了,不过我这台电脑还没安装合并软件,而且我回忆这几天新增的笔记不多,就在数据回滚的对比界面直接复制了几个关键的笔记(先复制笔记名称,退出来新建笔记,然后再找到笔记内容,退出来粘贴这样。。。)
    Whacka
  • 整个工作空间搞一个副本,然后打开这个副本去回滚,把找回的这些笔记移出来

    思源 data 目录的内容结构我不是很了解,不知道咋移动。用合并软件的话也许会方便一些。
    Whacka
    @Whacka 用别的方式自动合并的话可能会有问题,找到文档导出导入或者手动复制粘贴应该更好
    JeffreyChen
  • Whacka via macOS

    话说我还是想问下,这类问题常见吗?可能的原因是?

    2 回复
  • 88250 1 评论

    不要切换源,不然同步信息无法跟踪。

    我尽量不这么做,但某些特殊情况也是不得已。但为何说同步信息无法跟踪呢?
    Whacka
  • EmptyLight 5 评论

    我自己理解如下:

    你原本的所有内容记为 A 状态,之后你回退了一部分提交,回到 A'状态,这时候是切换了同步存储桶。在这时候你就已经丢失了部分笔记,应该是最初同步到 R2 的设备笔记不全,同步之后通过修改时间认为那个是最新版本。后面你其他设备同步 R2 之后发现上面的数据修改时间比本地的数据要新,所以从 R2 拉取了不全的数据。

    正常使用一般不会出现这种数据丢失问题,在同步的时候会检查两边的数据修改时间。不过这次估计是最早同步的那台设备数据不全,又正好因为切换存储桶导致数据修改时间更新了,导致其他设备同步之后删除了一些数据。我粗略画了一个 Git 提交图来表示这种情况。

    mainR2origin切换R2同步新写的笔记丢失的笔记
    非常感谢您的解释和配图,很详细!不过我这次换源删除了有 400+ 的文件,这些删除的文件应该不存在更新时间的问题吧?
    Whacka
    另外您提供的配图(但文字可以框选?)是怎么制作的呢?看起来很精致~
    Whacka
    @Whacka 是一个 mermaid 图表,同时在思源中可用,在思源笔记内部用户指南有粗略的介绍。我这里使用的是 GitGraph。上述假设你有 2 部设备(基于假设分析的),A 笔记保持最新,B 有一段时间没有同步。A 在丢失笔记的地方,B 因为同步不及时落后在 R2 同步处,这里使用 B 设备切换到新同步存储桶,之后云端生成一份修改时间最新的快照,A 连接到 R2 之后发现云端数据更新,采用了云端数据,导致本地的新笔记丢失。之后所有笔记都是在丢过笔记的基础上添加的。
    EmptyLight
    @EmptyLight 如果是笔记文件在多个节点都存在(只是修改的情况)可以用修改的时间戳解释,但如果是删除的文件,A 如何确定这个文件不是新的呢?换句话说 A 应该不知道这个文件被删除了,因为没有删除的记录。
    Whacka
    @Whacka 删除也会生成一次记录,标记这次删除了什么东西。你可以看看文件历史那些地方,我记得会有删除的记录
    EmptyLight
  • Kyun

    倘若主要是文字修改的話,可以兩邊都導出 MarkDown 格式,然後用類似 WinMerge 這些工具來對比各自解壓後的文件夾來手工合併。

请输入回帖内容 ...

推荐标签 标签

  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 77 回帖 • 1 关注
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 37 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    29 引用 • 230 回帖 • 126 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖 • 1 关注
  • 电影

    这是一个不能说的秘密。

    122 引用 • 608 回帖 • 1 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 654 关注
  • 叶归
    11 引用 • 52 回帖 • 21 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 639 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 568 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    228 引用 • 476 回帖
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 614 关注
  • AWS
    11 引用 • 28 回帖 • 7 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    42 引用 • 130 回帖 • 251 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 450 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 2 关注
  • 浅吟主题

    Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

    1 引用 • 28 回帖 • 2 关注
  • 反馈

    Communication channel for makers and users.

    120 引用 • 906 回帖 • 279 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    91 引用 • 59 回帖 • 3 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    198 引用 • 543 回帖 • 1 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 271 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 73 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 1 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 613 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖