本地历史备份——每天零点自动生成的兜底
自动备份机制
Chaldea 在每天零点(首次启动 App 时)会自动:
- 读取当前的
userdata.json - 在
backup/目录里创建一个新文件,文件名格式:userdata_YYYYMMDD.json - 如果备份数量超过一定限制(通常约 30 份),自动删除最旧的
备份文件位置
| 平台 | 路径 |
|---|---|
| Android | Android/data/cc.narumi.chaldea/files/backup/ |
| iOS | 文件应用/我的iPhone/Chaldea/backup/ |
| Windows | <解压目录>/backup/ |
| macOS | ~/Library/Containers/cc.narumi.chaldea/Data/Documents/backup/ |
| Linux | <解压目录>/backup/ |
| Web | 不自动生成(Web 版建议手动导出 json 备份) |
什么时候会用到
最常见的三种场景:
场景一:手贱改坏了数据
比如你在规划里不小心把几十个从者的技能等级全设成 10 了,然后保存了。发现不对想回退。
步骤:
- 设置 → 应用数据 → 用户数据管理 → 历史备份
- 打开备份列表,找到改坏之前那一天的备份
- 预览备份数据(看看从者技能等级是不是正常的)
- 选择恢复 → 确认覆盖当前数据
场景二:App 更新后数据格式不兼容
少数情况下,Chaldea 大版本升级会改变数据格式,旧版本的 userdata.json 可能读不出来了。此时:
- 先尝试手动升级 App
- 如果升级后还是读不出数据 → 找升级前那一天的历史备份恢复
- 恢复后新版本应该能正常读取(备份是旧格式,会被新版自动迁移)
场景三:卸载重装后数据丢失
⚠️ 这是最需要警惕的场景:Android 和 iOS 卸载应用会彻底删除数据目录。
如果你卸载前没手动备份:
- 看看
backup/目录有没有保留下来(取决于系统清理策略,大概率也删了) - 如果没有历史备份 → 只能重新抓包导入
- 所以定期手动备份是必须的——历史备份只是兜底,不是保险
手动 vs 自动备份的区别
| 维度 | 自动历史备份 | 手动备份 / 在线备份 |
|---|---|---|
| 频率 | 每天一次 | 你决定 |
| 触发时间 | 零点(首次启动) | 随时 |
| 覆盖范围 | 只存 userdata.json | 取决于你存什么 |
| 清理 | 自动清理旧备份 | 你决定保留哪些 |
| 用途 | 回退数据 / 兜底 | 跨设备同步 / 异地备份 |
结论:自动历史备份是兜底手段(防改坏数据),手动 / 在线备份是主要手段(防设备丢失 / 卸载)。两者配合才安全。
手动清理历史备份
Chaldea 自动清理旧备份,但你也可以手动删:
- 在历史备份列表里长按 → 删除选中项
- 或直接在文件管理器里删
backup/目录里的文件
建议至少保留最近 7 天的备份——万一本周哪天改坏了数据,能回退。