数据目录与备份
CiteDesk 把文献库和它的附件存在一个数据目录里。理解它在哪里、里面有什么,才能放心备份和迁移。
数据目录在哪里
默认情况下,数据目录就是应用的配置目录。用 帮助 > 打开数据文件夹 可以在访达(或系统的文件管理器)里直接打开它。里面主要有:
- 文献库数据库(SQLite 文件),文献、分类、标签、笔记、批注都在里面;
storage目录:存进文献库的附件文件,每个附件一个子目录;styles目录:您导入的样式;backups目录:数据库的自动备份;- 全文索引等可以重建的缓存。
文档本身(Markdown 文件)不在数据目录里,它们在您打开的工作区文件夹里。
在 设置 > 高级 > 数据存储位置 可以改用自定义位置或恢复默认。更改位置不会移动数据。 改完后应用会提示退出,请在应用关闭后自行把整个数据目录移动到新位置,再重新启动。CiteDesk 不会修改旧位置的文件。
启动时,如果设定的位置找不到(例如外接盘没连上),应用会先问您:改用默认位置、重新选择位置,还是退出。它不会悄悄新建一个空库。
数据目录在云盘里
不要把数据目录放在 Dropbox、iCloud、OneDrive、Google Drive 一类的同步文件夹里。数据库由数据库引擎频繁地读写,同步软件在中间复制或加锁,可能让数据库损坏、丢数据,或让同一份数据出现冲突的几个副本。
如果应用检测到数据目录在这类文件夹里,启动时会提醒您,并给出:改到别处、不改,和「不再显示此警告」。要在多台电脑之间同步文献库,请用应用自己的同步,不要同步数据目录。
选择自定义位置时,如果所选文件夹在云盘里,也会有同样的提醒。
自动备份
应用会定期把数据库备份到数据目录的 backups 目录,按轮转的方式留几份。份数和间隔由两项设置 backupNumBackups(默认 2 份)和 backupIntervalMinutes(默认 1440 分钟,即一天)决定,份数小于 1 就不备份;可以在设置「高级」页底部的设置编辑器里修改。内容没变就不会重复备份;合并文献之前总会强制备份一次。备份写不成只记日志,不会阻挡您的操作。
备份不含附件文件,只是数据库。要完整备份,请在应用关着时复制整个数据目录。
从备份恢复
数据库打不开或检查不通过时,文献库页顶会出现一条横幅说明读不进来,并且保存被锁住,以免把坏掉的数据继续写坏。有可用的自动备份时,横幅上有「从自动备份恢复」:应用会先验证那份备份读得进来、版本认得,再把坏掉的那份挪进 backups 目录并标上 .damaged,不删除,最后换上备份。恢复会丢掉备份之后做的改动,所以请先确认。
如果没有可用的备份,请在应用关着时用 SQLite 的工具尝试修复数据库,或者联系帮助您的人。更多情形见故障排除。
数据库正被另一个进程使用
数据库以独占的方式打开。如果同一个数据目录已经被另一个 CiteDesk(或别的程序)开着,应用会提示该数据目录的数据库正在使用中,然后退出,不会去开库。请先关掉另一个实例再重新启动。