CCR 配置备份怎么做:3 个步骤守住你的路由规则和 API 密钥
2026/9/2 10:45:27 网站建设 项目流程

CCR 配置备份怎么做:3 个步骤守住你的路由规则和 API 密钥

【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router

上周有个同事的笔记本硬盘坏了,装好的 Claude Code Router 跟着没了——路由规则、上游 Provider 的密钥、Agent 配置全丢,重新配了半天还差一个找不回来的密钥。CCR 配置备份这件事,平时没人想起来,真出事时它就是你唯一的活路。

先说结论:CCR 的全部核心配置都在一个目录里,备份就是把"停服务 + 打包目录"做成习惯。

你的数据到底存在哪

这一步解决"备份什么、备份到哪里找"的问题。CCR 把配置放在用户主目录下的.claude-code-router文件夹里,不同系统位置略有差异:

  • macOS / Linux:~/.claude-code-router/
  • Windows:%APPDATA%\claude-code-router\

目录里真正值钱的是这几样:

  • config.sqlite:当前全部应用配置(Provider、路由、Agent 配置),它是主数据库
  • app-data/:API 密钥、用量统计、请求日志、证书等运行时数据
  • profiles/:各 Agent 配置的隔离文件
  • gateway.config.json:网关运行配置(可再生,但留着不亏)

⚠️ 风险:config.sqlite运行时不要直接复制。SQLite 有-wal-shm两个伴随文件,服务运行中拷贝出来大概率是一个坏库。文件级备份前,先停掉 CLI 和桌面端。

老版本用config.json存配置,现在只会在首次启动时作为迁移源读一次,之后改了它也不生效。别照着网上老教程去备份一个config.json

场景一:配置丢了或坏了,怎么快速恢复

假设某天~/.claude-code-router被误删,或者数据库损坏导致 UI 打不开。处置顺序是:找快照 → 停服务 → 解包 → 起服务。

  1. 找到最近一份备份(假设放在~/ccr-backups/下):
ls -lt ~/ccr-backups/

这条命令按时间倒序列出所有备份包,第一行就是最新的。

  1. 停掉可能残留的 CCR 进程,避免恢复后两个状态打架:
ccr stop
  1. 用备份包覆盖配置目录:
tar xzf ~/ccr-backups/ccr-20260901.tgz -C ~/.claude-code-router/

这条命令把快照解包回原目录,-C参数指定解压目标,路径写错会解到别的文件夹。

  1. 启动并验证:
ccr start

管理界面能打开、Provider 列表还在,就恢复成功了。

📌 提示:如果你习惯 Docker 部署,恢复方式类似——把备份复制到一个空的/data目录,容器保持停止状态。千万别把旧备份直接盖在还有新数据的目录上,旧的 WAL/SHM 文件和新的运行时文件混在一起,数据库照样废。

场景二:换新设备,CCR 数据迁移

换电脑、换服务器时,CCR 数据迁移的本质就是"旧机器打包 → 传文件 → 新机器解包",中间不依赖网络同步。

  1. 旧设备上停服务并打包(这就是你平时该留着的快照):
ccr stop && tar czf ccr-backup.tgz -C ~ .claude-code-router

这条命令停掉后台服务后,把整个配置目录压缩成一个ccr-backup.tgz

  1. 通过 U 盘、网盘或scp把文件传到新设备。

  2. 新设备装好 CCR 后,先不要启动它,直接解包到主目录:

tar xzf ccr-backup.tgz -C ~

解完后~/.claude-code-router就完整出现了,再执行ccr start,路由规则和密钥原地复活。

⚠️ 注意:备份包里包含上游 API 密钥和 CCR 客户端密钥,传输走加密通道,落到网盘后别设公开权限。这份目录按"机密文件"级别对待就行。

场景三:Provider 密钥过期或丢失

密钥找不回来时,先想清楚它存在哪。CCR 的上游 Provider 凭证不在config.sqlite里裸存,而是落在app-data/目录下的密钥数据库中,所以恢复密钥也靠同一份快照,而不是手工改某个 JSON 字段。

处置分三条路:

  1. 有快照:按场景一的步骤恢复整个目录,密钥随库一起回来(前提是该快照拍摄于密钥仍然有效的时段)。
  2. 快照里也没有:去 Provider 官网重置密钥,然后打开 CCR 管理界面的 Provider 页面,把新密钥粘贴进去保存即可。
  3. 怀疑密钥泄露:直接吊销并重置,恢复旧快照前先在 UI 里确认一下密钥是否还需要换。

顺带一提,CCR 的设置页提供"导出数据"入口,那是官方推荐的应用级备份方式,导出的快照就是给这个场景用的。

把备份变成定时任务,一次配置长期生效

前三节都假设"你有备份",这一节解决"怎么保证你总有备份"。用系统自带的定时任务加一条打包命令即可,不需要写脚本。

在 crontab 里加一行(每天凌晨 3 点打包一次):

0 3 * * * tar czf ~/ccr-backups/ccr-$(date +\%Y\%m\%d).tgz -C ~ .claude-code-router

这条命令到点后自动把配置目录压缩进~/ccr-backups/,文件名带日期,方便按天回溯。

再补两条习惯:

  • 保留最近 14 天就够,用find ~/ccr-backups -mtime +14 -delete挂在同一行任务后面自动清理
  • Docker 部署的用户,把docker compose cp ccr:/data/. ./backups/停容器后执行一次,效果等同

最后

备份这件事没什么技术含量,难的是让它发生在灾难之前。CCR 的全部家当就集中在一个目录里,这让"CCR 数据恢复"退化成了一次 tar 操作——只要你接受"升级前、换机前、改完路由后"各打一次包,将来无论是误删、坏盘还是密钥过期,你花在恢复上的时间不会超过十分钟。

可参考的仓库内资料:配置库位置说明见 docs/src/content/docs/en/configuration/configuration-file.md,CLI 各命令与数据目录对照表见 docs/src/content/docs/en/guides/cli.md,Docker 部署下的备份恢复细节见 docs/src/content/docs/en/guides/docker.md。

【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询