自动备份与恢复

每日自动备份、数据库导出与自助导入恢复

自动备份与数据恢复

Transbox 的全部业务数据(项目、文件、句段译文、记忆库、术语库、翻译记录、对话、文件解析结果)都保存在本机的一个 SQLite 数据库里。备份就是复制这个数据库文件,恢复就是用备份文件替换它。

自动备份

  • 触发时机:每次启动应用时检查,若当天还没有备份则立即生成
  • 备份频率:每天最多一份
  • 保留策略:保留最近 30 天的每日备份,超出后自动清理
  • 文件命名:.client-sqlite-YYYY-MM-DD.db
  • 存放位置:应用数据目录(Windows 下位于 %APPDATA% 下本应用的数据目录)

自动备份无需配置,也不占用额外操作;它只保证"最近 30 天内某一天"的状态可回溯,重要节点仍建议手动导出长期保存。

手动导出

「系统设置 → 网络与高级 → 数据备份」→「导出备份」,在弹窗中选择导出源:

导出源说明
当前数据复制此刻正在使用的数据库,包含最新状态
导入前的安全副本上一次执行导入时自动留下的原库副本,用于回滚
每日自动备份最近 30 天内任意一天的自动备份

选择后点击「导出」,指定保存位置,得到一个带时间戳的 .db 文件。把它放到网盘、移动硬盘或版本库中即可长期留存。

导入恢复

「导入备份」会用备份文件覆盖当前设备的全部数据,因此设置了三重确认:

  1. 先展示备份文件名、大小、备份时间与内容摘要(项目数、记忆库数、术语库数、翻译记录数、对话数)
  2. 要求手动输入 confirm 后才会继续
  3. 主进程再弹一次系统级确认

确认后,备份文件先被暂存,应用重启时才真正替换数据库。替换前会把当前数据库另存为 .client-sqlite.pre-restore.db,如发现导入错误可用它回滚。

导入是整体覆盖,不支持只恢复某类数据(如只恢复记忆库)。需要单独搬运语料时,请用记忆库/术语库的导入导出功能。

数据库相关文件

文件作用
.client-sqlite.db业务主库
.client-sqlite-fts-5.db全文检索索引(派生数据,删除后可依据主库重建)
.client-sqlite.pending-restore.db待恢复文件,重启时替换主库
.client-sqlite.pre-restore.db导入前自动留下的安全副本
.client-sqlite-YYYY-MM-DD.db每日自动备份

迁移到新设备

  1. 旧设备:「导出备份」→ 选「当前数据」→ 保存 .db
  2. 把文件复制到新设备
  3. 新设备安装并启动一次 Transbox
  4. 「导入备份」选择该 .db,按提示确认并重启
  5. 重启后检查项目列表、记忆库、术语库与设置是否完整
自定义的 API Key、代理地址等配置也在数据库里,导入后会一并恢复;若新设备网络环境不同,请重新检查「翻译引擎」与「网络与高级」中的配置。

最佳实践

  1. 重要节点手动导出:交付完成、批量导入语料后各导出一份
  2. 多地存放:本地 + 网盘/移动硬盘各一份
  3. 命名可识别:导出文件名带日期,必要时手动加项目名
  4. 定期验证:偶尔用备份导入到一台测试机,确认文件可用
  5. 导入前先导出:覆盖式恢复前,先导出一份当前数据

注意事项

  1. 导入不可撤销:只能依赖自动保留的 pre-restore 副本回滚
  2. 需要重启:导入后不重启不会生效
  3. 同名实例:导入时请确保只运行一个客户端实例,否则可能出现文件占用导致替换失败
  4. 磁盘空间:数据库体积随语料增长,导出前确认目标磁盘空间充足
  5. 跨版本:尽量在同版本或新版本中导入旧版本备份

常见问题

Q: 自动备份的文件在哪里?

A: 在应用数据目录(Windows 下为 %APPDATA% 下的本应用目录)。也可以不做手动查找,直接在「导出备份」弹窗里选择对应的每日备份导出。

Q: 自动备份能关闭吗?

A: 当前没有开关,属于默认行为。它每天最多创建一份并只保留 30 天,占用很小。

Q: 导入后数据没变化?

A: 导入需要重启应用并在启动时替换数据库。若点击「立即重启」后仍未生效,请检查是否有多个实例在运行。

Q: 能只恢复记忆库吗?

A: 不能。导入是整体覆盖。只搬运记忆库请用「记忆库 → 导入」,支持 TMX / SDLTM / Excel。

Q: 备份文件损坏怎么办?

A: 尝试换一个日期更早的每日备份或之前手动导出的文件;若所有备份都不可用,可尝试把 .client-sqlite.pre-restore.db 改名为主库文件名后启动。

Q: 备份会包含 API Key 吗?

A: 会。数据库包含全部本机配置,因此备份文件应妥善保管,不要随意分享。