最早经历印象笔记数据丢失,是 这个帖子 描述的那次(当然那次怪我)。
那次之后,我吸取教训,开始备份印象笔记的 exb 数据库文件:最简单的备份,是定期复制 exb 文件,粘贴到其它地方。印象的 exb 数据库通常有几 GB 大,复制需要几分钟时间。我发现,在这几分钟内,我对笔记所作的任何“增删改”,都不会被保存成功。我是外行啊,不懂,但猜测原因是,操作系统的复制进程占用 /锁定了 exb 文件,导致印象笔记进程无法对 exb 文件写入,所以一切“增删改”都不会写入成功,自然重启后就恢复原样。
——原来这样也能造成数据丢失啊!我觉得,当印象笔记进程,发现没有权限写入 exb 文件时,应该做出弹窗报警。因为数据无价,这事关数据安全!但考虑到 exb 文件通常不会被占用,印象开发组在设计上,没考虑到这点,也能理解,实属正常。
但是,今晚遇到一次类似现象,这次我很正常的使用,exb 数据库没有被锁定 /占用,却仍然出现了“增删改”没有写入硬盘 /exb 的情况。
从刚刚 9 点开始,我整理印象笔记,期间做了一系列 新建笔记、修改、给笔记打标签、删除、合并笔记……等操作,前后涉及几十条笔记。然后到 10 点下楼吃夜宵,11 点回家重新打开电脑,却发现 9~10 点期间的操作,全部消失了!就像回到 9 点以前的快照一样。
刚开始以为幻觉,但仔细打开回收站一看,刚刚删除的笔记,都还在回收站,刚刚新建的标签 tag,也都在侧边栏,奇怪?于是打开 log 排查,发现满屏幕的 Error 。完整 log 参见: https://getnote.cf/eZfZS 可以看到,log 里面有大量“Can't save note”“Unable to load note”的字样。是不是像上面说的,exb 文件被占用导致不能写入呢?也不是,只有对笔记“内容”的编辑改动不能成功保存,但是对笔记整体的删除、打标签,都可以成功写入,log 里也有“user confirmed deletion of notebook”的字样,证明删除操作写入硬盘了。
我是用印象来做笔记、写日记的,所以等于,刚刚那 1 小时写的东西,全部丢失了。百年一见的 bug 砸我头上了?
所以,个人感觉,日志中都出现了大量 Error,尤其“Can't save note”这种涉及数据丢失风险的报错,印象客户端一定要报警!即使开发组担心造成普通用户困惑,降低用户体验,你弹窗让用户重启客户端都也可以,例如说“印象笔记发生未知错误,请重启客户端”,都比悄● 无● 声●息来得强——你早点弹窗提醒,我早点重启个客户端,就能解决的简单问题,你写入不到硬盘,却不吭声,害我丢了几十条笔记的改动。要是换个人,从早晨开始用,一整天的笔记不都丢了?
这个问题不常出现。从我 2011 年 3 月开始用 evernote,到现在将近十年,这是第一次遇到。频率虽低,但希望印象开发组重视!数据安全,是比各种功能性 feature (例如脑图啥的)更重要的!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.