来源:Zotero 官方文档《The Zotero Data Directory》。原文无个人署名;本文由未完纪依据全文翻译整理,核对日期为 2026 年 10 月 5 日。界面名称以原文英文为参照,不同版本的中文译名可能有差异。
Zotero 的书目、笔记和附件并不全放在同一个文件里。恢复资料之前,先确定正在使用哪个数据目录,再区分数据库、托管附件、链接文件和在线同步的职责。最重要的原则是:移动、复制或替换数据库前关闭 Zotero;如果误删已经同步,恢复前还要暂停自动同步。

找到实际使用的数据目录
最可靠的方法是在 Zotero 设置的 Advanced(高级)页点击 Show Data Directory(显示数据目录)。它会打开当前实际使用的目录,比凭记忆猜路径可靠。如果设置页面无法打开,可以在自己的电脑上搜索 zotero.sqlite,再结合文件日期和大小辨别。
| 系统 | 现代版本默认目录 |
|---|---|
| macOS | /Users/<username>/Zotero |
| Windows 7 及以上 | C:\Users\<User Name>\Zotero |
| Linux | ~/Zotero |
| Windows XP/2000(历史资料) | C:\Documents and Settings\<username>\Zotero |
只有未指定自定义目录时,上表才适用。原文还保留了 Zotero 4(2017 年及以前)的旧路径:Firefox 扩展版位于 Firefox 的 profile 中,独立版位于 Zotero 的 profile 中。
| 旧版本 | macOS/Windows/Linux 路径 |
|---|---|
| Zotero 4 for Firefox | ~/Library/Application Support/Firefox/Profiles/<randomstring>/zotero%APPDATA%\Mozilla\Firefox\Profiles\<randomstring>\zotero~/.mozilla/firefox/Profiles/<randomstring>/zotero |
| Zotero 4 Standalone | ~/Library/Application Support/Zotero/Profiles/<randomstring>/zotero%APPDATA%\Zotero\Zotero\Profiles\<randomstring>\zotero~/.zotero/Profiles/<randomstring>/zotero |
这里用 %APPDATA% 合并表示原文两代 Windows 的 Roaming/Application Data 路径,属于编辑缩写。macOS 的用户 Library 默认隐藏,可在 Finder 的“前往”菜单中按住 Option 找到。旧路径仅用于寻找遗留资料,不是安装旧版软件的建议。
目录里分别存了什么
zotero.sqlite是最重要的数据库,包含书目信息、笔记、标签等大多数结构化数据。Zotero 启动时读取活动数据目录里的这个文件。storage的八字符子目录(例如N7SMB24A)保存导入的 PDF、网页快照、音频等托管附件。通过链接方式加入的文件不会复制到这里,必须另行备份它们的真实位置。zotero.sqlite-wal与zotero.sqlite-shm是应用运行时的临时数据库文件。正常退出后 WAL 通常被清空;异常退出时,它可能仍含尚未合并的最新变更。不要随意删除 WAL;移动这样的数据库时,要连同它一起保留。zotero.sqlite.bak与zotero.sqlite.1.bak是自动数据库备份,默认最多每天生成一次。多数 Mac 上它们利用 APFS 写时复制,只有与主库不同的部分占用额外空间。它们不是附件备份。fulltext.sqlite是全文检索索引,可自动重建,因此不按数据库备份处理。locate、logs、pipes、styles、translators等目录由 Zotero 启动时维护。
文件操作边界:复制、删除或移动这些文件之前,务必关闭 Zotero。在应用仍写入数据库时拼凑备份,可能得到不一致的数据,甚至损坏当前资料库。下文采用保留旧目录的方式,避免把“恢复”变成不可撤回的覆盖。
建立能回到过去的备份
Zotero 同步很适合在电脑丢失后取回在线资料,但它保存的是资料库的最新状态。一次自动同步也可能把误删同步上去,所以同步不能替代具有历史版本的备份。原文建议用定期、增量的全盘备份工具,将数据备份到外置设备,例如 macOS 的 Time Machine。
如果只备份 Zotero:先找到数据目录,正常关闭应用,再把整个目录复制到备份位置,最好是另一块存储设备。不要只复制 zotero.sqlite 而漏掉 storage、其他子目录及必要的 WAL。链接附件另外处理。
使用“按需下载文件”时,本机未必已有所有附件。若希望备份包含完整附件,可选一台电脑使用“同步时下载文件”,确认文件下载完成后,再备份该电脑的数据目录。即使信任 Zotero Storage 中已经上传的文件,选择不备份 storage 也应是明确的数据策略,不能把目录存在误认为附件已经齐全。
不要用导出再导入代替备份。Zotero RDF、BibTeX、RIS 等用于交换资料,不会生成完全一致的资料库副本:导入后可能重设加入/修改时间,并破坏文字处理文档中已有引用与条目的关联。
先判断应该从哪里恢复
资料库突然变空,首先确认 Zotero 指向正确目录。不要立刻建立新库、覆盖数据库或反复同步。然后选择适合的恢复路径:
- 在线资料正确、本地确实是空库:可以从同步恢复。
- 拥有完整数据目录备份:用备份恢复数据库和本地附件。
- 刚发生误删、没有另存目录:尝试自动
.bak数据库备份。 - 升级后希望回到旧版:必须找升级前的数据库备份,不能直接用旧程序打开已升级数据库。
从 Zotero 同步恢复
先登录 zotero.org 检查在线资料是否完整,再在 Zotero 的 Sync 设置填写相应账号,点击工具栏的同步按钮。Zotero 同步的是明确发生的删除操作;仅仅用一个空数据库同步,并不会自动删除在线库。因此“本地空了”与“本地执行过删除并同步”是两种不同情况。
原文允许在关闭 Zotero 后删除旧本地目录,再从服务器同步。本文采用更易回退的编辑调整:先给旧目录改名并保存,确认不再需要其中尚未同步的资料后再决定是否清理。切换同步账号时,Zotero 也可能提示移除当前本地数据库;必须先确认账号与本地未同步内容。
从完整目录备份恢复
- 打开 Advanced 设置,记下 Data Directory Location 的路径,并用 Show Data Directory 确认目录内容。
- 若涉及已经同步的误删,先关闭自动同步。随后退出 Zotero。
- 进入数据目录的父目录,把当前目录改名,例如
Zotero-Old。不要直接覆盖它。 - 将备份的数据目录复制到原位置,并使用原目录名。这里放的是包含
zotero.sqlite和storage的目录,不是只放storage。 - 重新打开 Zotero,检查条目、笔记、分类、标签和代表性的附件。
恢复成功后仍建议保留 Zotero-Old 一段时间。若随后同步,备份之后已上传的变更还会应用到刚恢复的数据库;这既能取回后续新增数据,也可能重新执行你想撤销的删除。是否同步必须结合下一节判断。
误删已经同步时,如何保住恢复内容
先临时停用自动同步,再恢复本地备份。此时直接同步通常会让在线的新状态再次覆盖恢复出的旧状态,不能把“恢复后又消失”误认为备份无效。
- 少量条目或笔记:在恢复出的条目上右键选择 Duplicate Item(s),制作新的副本。同步会再次删除旧记录,但新副本会保留。原文还给出另一办法:进行本地修改(如把条目加入分类)触发冲突,然后在同步冲突解决时选择本地版本。冲突方法需要逐项核对,不应假设所有修改都会产生相同提示。
- 被删的分类:建立新的分类,把原分类中的条目拖进去。同步后旧分类可能仍会被删除,新分类则可保留。
- 大范围错误:可使用 Replace Online Library,用本地版本强制覆盖在线资料。它可能丢失备份之后的其他变化;使用前必须确认所有相关设备及协作资料的状态,保留恢复前后副本。
确认结果符合预期后再恢复自动同步。复制条目会建立新的记录身份,不应把它当成对旧引用关系的无损修复;已有论文中的引用需要检查。这里的引用检查是编辑补充。
使用最后一次自动备份
自动备份只包含数据库,不包含附件。在严重误删后,先暂停自动同步,并给所有 zotero.sqlite*.bak 另存副本。按时间戳选择可能包含所需数据的备份,避免在试错过程中把唯一可用备份耗掉。
- 关闭 Zotero。
- 将当前
zotero.sqlite改名为zotero.sqlite.old,保留原件。 - 把选定的
.bak备份副本放到活动目录,并命名为zotero.sqlite。本文建议使用副本来尝试,这是比直接改名原备份更便于回退的编辑调整。 - 启动 Zotero 检查资料。若删除已同步,按上一节处理条目/分类副本或在线库替换,之后才恢复同步。
保留 zotero.sqlite.old 和备份副本,直到确认所有电脑都同步正确、所有必要附件也都能打开。若原库异常退出,不要随意丢掉与它配套的 WAL;应先保全整套原始文件,避免将不同时点的数据库和 WAL 混放。
从升级前的备份回到旧版
重大版本升级会更新数据库格式。若必须退回旧版,需要用升级时自动生成的数据库备份替换当前数据库,通常是编号最高的 zotero.sqlite.[num].bak。先备份整个数据目录,再安装对应旧版、关闭 Zotero、恢复数据库、重新启动;旧版直接打开新格式数据库会报错。
已使用同步时,恢复旧库之后可以通过同步取回兼容的数据;未使用同步时,可先将升级后新增条目导出为 Zotero RDF,再导入旧版。按 Date Added 排序能帮助找出新增内容。这里的导出只是补救少量新增数据,仍不等于完整保真备份。
原文给出在高级 Config Editor 将 app.update.auto 设为 false 以暂缓更新的做法。旧版会失去支持,并可能停止同步或网站兼容更新,因此应向 Zotero 论坛说明降级原因、定期检查修复进度,并在条件允许后恢复更新。
资料不见了,但不知道备份在哪里
先排除三类情况:2017 年及以前的极旧版本刚升级,可阅读 Zotero 5 升级后数据丢失说明;换电脑后数据不在在线库中,可能是原电脑从未上传;同一台电脑曾有资料,则需要检查数据库是否被移动、删除或目录设置改变。
用 Show Data Directory 查看当前目录,记下所有 zotero.sqlite 开头文件的名称、大小和日期。原文指出,空库通常约为 1 MB 或 5 MB;这只是排查线索,不能仅凭大小判断内容。查看 storage 的目录日期是否与过去使用时间相符。
- 如果附件目录还在,但主库很小,可能是数据库被外部清理工具等删除。寻找较大的
.bak或其他备份中的zotero.sqlite。仅凭storage文件无法完整重建原资料库。SQLite 文件也不能通过 File → Import 导入;必须在关闭应用后放回活动目录的正确文件名。 - 如果此前启用同步,可取回在线库中的数据。有备份时会下载备份之后的变更;空库则会下载整个在线库。仍要区分取回新数据与撤销已同步误删的目的。
- 如果目录不是预期位置,或
storage不存在/为空,寻找原数据目录,再在设置中选中它,或者关闭 Zotero 后把当前目录改名、把所需目录放回。
寻找时可结合大于 5 MB 的数据库/备份、修改日期和附件目录日期。除非确有理由,原文建议采用用户主目录下的默认位置。选择自定义目录不会自动移动任何数据;仍需自己复制,并指向包含数据库和 storage 的上级目录。
仍无法定位时,在 Zotero 论坛提供:当前数据库及备份的文件名、大小和日期;是否有符合旧使用时间的附件子目录;是否使用默认路径;上次正常使用时间、之后发生过什么,以及已经尝试的操作。只提供诊断所需信息,不要公开上传私人论文、完整数据库或账号凭据。
如果找不到其他 zotero.sqlite 副本,也从未使用 Zotero 同步,可能只能重新建立资料库。先关闭 Zotero,把原数据目录移到桌面并命名为“Zotero Old”,保留整套文件;重新启动后会建立新库。可以在旧目录中搜索所有 PDF 并拖入 Zotero,让它尽可能检索元数据。还可使用 Reference Extractor 从曾使用 Zotero 插件的 Word 或 LibreOffice 文档提取资料,但重新导入的记录不会与已有文档引用保持原来的关联。这是原文的最后补救路径,不是完整恢复。
来源、署名和验证范围
本文依据官方全文整理,保留了定位、备份、同步恢复、目录恢复、误删、自动备份、升级备份和丢失资料定位等全部主题。删除改为先保留副本、引用关联检查及隐私提醒属于编辑补充。原作者与 Zotero 的权利归属保持不变。Zotero Licensing 说明:2015 年 4 月 26 日之后产生的 wiki 内容使用 CC BY-SA 4.0;更早内容可能使用 CC BY-NC-SA 3.0。本文保留该历史许可说明,不把软件 AGPL 许可套用到文档。可适用 CC BY-SA 4.0 的中文改编部分及本文原创图按 CC BY-SA 4.0 提供;历史部分的权利依原许可与另行授权保留。
本次仅进行资料和操作流程的静态核对,没有打开用户 Zotero 数据库、恢复文件、切换账号或执行同步;不能据此声称恢复演练已经通过。原创配图由未完纪制作。
Zotero 由非营利组织 Digital Scholar 发起,并由全球社区开发。文档许可历史:2015-04-26 之后的 wiki 内容为 CC BY-SA 4.0;更早内容可能为 CC BY-NC-SA 3.0。原站要求商业使用核对修订历史与 Wiki Contributor License Agreement。本文保留该历史说明;原资料按适用许可提供,无保证。中文翻译与编辑:未完纪,2026-10-05。












暂无评论内容