备份与恢复
CPAMP 的请求历史、配置和加密凭证都在本地数据目录。备份时最容易犯的错,是只复制 usage.sqlite,漏掉 WAL/SHM 或 data.key。
必备备份文件
至少把这些文件作为一组备份:
usage.sqliteusage.sqlite-walusage.sqlite-shmdata.key
如果部署目录还有自定义配置文件,也应一起备份。
为什么必须备份 data.key
CPA Management Key 会使用 data.key 加密后保存到 SQLite。
- 只有
usage.sqlite泄露时,攻击者不能直接读出 CPA Management Key。 usage.sqlite和data.key同时泄露时,CPA Management Key 可被解密。- 丢失
data.key时,已经保存的 CPA Management Key 无法恢复,只能重新保存 CPA 连接配置。
Docker 备份示例
如果使用 named volume,可以先停止容器,再用临时容器导出:
bash
docker stop cpa-manager-plus
docker run --rm \
-v cpa-manager-plus-data:/data:ro \
-v "$PWD":/backup \
alpine \
tar czf /backup/cpa-manager-plus-data.tgz -C /data .
docker start cpa-manager-plus如果使用宿主机目录挂载:
bash
docker stop cpa-manager-plus
cp -a /srv/cpa-manager-plus-data /srv/cpa-manager-plus-data.backup
docker start cpa-manager-plus原生包备份
停止进程后复制数据目录:
bash
cp -a ./data ./data.backupWindows PowerShell:
powershell
Copy-Item -Recurse .\data .\data.backup恢复
- 停止 CPAMP。
- 恢复完整数据目录。
- 确认
usage.sqlite和data.key来自同一次备份。 - 启动 CPAMP。
- 登录后检查配置、监控数据和采集器状态。
如果恢复后出现解密失败,优先检查 data.key 是否和 SQLite 匹配。