自动备份与恢复
自动备份与数据恢复
Transbox 的全部业务数据(项目、文件、句段译文、记忆库、术语库、翻译记录、对话、文件解析结果)都保存在本机的一个 SQLite 数据库里。备份就是复制这个数据库文件,恢复就是用备份文件替换它。
自动备份
- 触发时机:每次启动应用时检查,若当天还没有备份则立即生成
- 备份频率:每天最多一份
- 保留策略:保留最近 30 天的每日备份,超出后自动清理
- 文件命名:
.client-sqlite-YYYY-MM-DD.db - 存放位置:应用数据目录(Windows 下位于
%APPDATA%下本应用的数据目录)
自动备份无需配置,也不占用额外操作;它只保证"最近 30 天内某一天"的状态可回溯,重要节点仍建议手动导出长期保存。
手动导出
「系统设置 → 网络与高级 → 数据备份」→「导出备份」,在弹窗中选择导出源:
| 导出源 | 说明 |
|---|---|
| 当前数据 | 复制此刻正在使用的数据库,包含最新状态 |
| 导入前的安全副本 | 上一次执行导入时自动留下的原库副本,用于回滚 |
| 每日自动备份 | 最近 30 天内任意一天的自动备份 |
选择后点击「导出」,指定保存位置,得到一个带时间戳的 .db 文件。把它放到网盘、移动硬盘或版本库中即可长期留存。
导入恢复
「导入备份」会用备份文件覆盖当前设备的全部数据,因此设置了三重确认:
- 先展示备份文件名、大小、备份时间与内容摘要(项目数、记忆库数、术语库数、翻译记录数、对话数)
- 要求手动输入
confirm后才会继续 - 主进程再弹一次系统级确认
确认后,备份文件先被暂存,应用重启时才真正替换数据库。替换前会把当前数据库另存为 .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 | 每日自动备份 |
迁移到新设备
- 旧设备:「导出备份」→ 选「当前数据」→ 保存
.db - 把文件复制到新设备
- 新设备安装并启动一次 Transbox
- 「导入备份」选择该
.db,按提示确认并重启 - 重启后检查项目列表、记忆库、术语库与设置是否完整
最佳实践
- 重要节点手动导出:交付完成、批量导入语料后各导出一份
- 多地存放:本地 + 网盘/移动硬盘各一份
- 命名可识别:导出文件名带日期,必要时手动加项目名
- 定期验证:偶尔用备份导入到一台测试机,确认文件可用
- 导入前先导出:覆盖式恢复前,先导出一份当前数据
注意事项
- 导入不可撤销:只能依赖自动保留的 pre-restore 副本回滚
- 需要重启:导入后不重启不会生效
- 同名实例:导入时请确保只运行一个客户端实例,否则可能出现文件占用导致替换失败
- 磁盘空间:数据库体积随语料增长,导出前确认目标磁盘空间充足
- 跨版本:尽量在同版本或新版本中导入旧版本备份
常见问题
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: 会。数据库包含全部本机配置,因此备份文件应妥善保管,不要随意分享。
