CCR 配置备份与灾难恢复:3 个脚本搞定丢失、损坏和换机器
【免费下载链接】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
CCR(Claude Code Router)的备份与灾难恢复并不复杂:核心就是定期打包~/.claude-code-router整个目录,再配合一段备份脚本和恢复演练。学会这套做法后,配置被改坏、换电脑、容器故障,你都能在 10 分钟内回到可用状态。
📦 CCR 配置都放在哪里,该备份哪些内容
这一步要解决"备份什么"的问题。很多人只盯着config.json,其实新版 CCR 把路由、Provider、API 密钥等状态放进了 SQLite 库,只拷单个 JSON 很可能漏数据(以官方文档为准)。
macOS / Linux 上配置位于~/.claude-code-router/,Windows 位于%APPDATA%\claude-code-router\,重点内容有三块:
config.json:基础配置config.sqlite:较新版本使用的配置数据库app-data/子目录:请求日志、用量等运行数据
所以最简单的做法是直接对整个目录打包。目录结构细节可参考 docs/src/content/docs/zh/configuration.md。
提示:备份里含 API 密钥,等同于密码文件,不要提交到共享或公开的仓库。
怎么确认没漏:打包后检查压缩包里同时存在config.json、config.sqlite和app-data目录,三者齐全就说明备份完整。
💾 备份脚本怎么写
手写备份步骤,这一步解决"把备份变成一条命令"。下面这段脚本会生成带日期戳的压缩包,并自动只保留最近 35 份,可直接保存为~/.claude-code-router/backup.sh:
#!/bin/bash SRC="$HOME/.claude-code-router" DEST="$HOME/ccr-backups" TS=$(date +%Y%m%d-%H%M) mkdir -p "$DEST" tar -czf "$DEST/ccr-config-$TS.tar.gz" -C "$HOME" .claude-code-router # 只保留最近 35 份 ls -1t "$DEST"/ccr-config-*.tar.gz | tail -n +36 | xargs -r rm给脚本加执行权限(chmod +x ~/.claude-code-router/backup.sh)后跑一次,去ccr-backups/里看一眼新压缩包的大小(一般几十 KB 到几 MB),有文件且大小合理即成功。
📅 定时备份怎么配
上一步解决"备份什么时候跑"。macOS 和 Linux 用 crontab 就行,每天凌晨 3 点执行一次:
crontab -e # 添加一行: 0 3 * * * $HOME/.claude-code-router/backup.sh >> $HOME/ccr-backups/backup.log 2>&1保存后crontab -l能看到这行任务即配置成功。第二天早上检查ccr-backups/是否多了新文件,是的话说明自动备份在跑。
注意:备份留在本机只是第一步,最好每周把最近一份拷到网盘或另一台机器。备份和原文件在同一块硬盘上,硬盘坏了照样全丢。
🧪 配置损坏怎么回滚,新机器如何迁移
最后一步解决"出事了怎么办"。所有恢复都遵循同一顺序:先停服务 → 用备份覆盖 → 再启动。
ccr stop # 找到最近一份可用备份 ls -1t ~/ccr-backups/ccr-config-*.tar.gz | head -1 tar -xzf <备份文件> -C $HOME ccr start启动后打开管理页,能看到之前的路由规则和 Provider 列表,恢复就算成功;再手动发一次模型请求确认能通。
如果是换新电脑,macOS / Linux 的做法:新机器装好 CCR 并停掉服务后,把备份包解压到用户主目录,再启动即可。Docker 环境的备份命令可参考 docs/src/content/docs/zh/guides/docker.md 中的docker compose cp用法;Windows 则把备份解压到%APPDATA%\claude-code-router。
注意:恢复动作一定在
ccr stop之后做。服务运行时覆盖文件,新配置可能被覆盖回去。
收尾自检清单
- 已有至少一份
~/.claude-code-router整目录备份(含config.json、config.sqlite、app-data/) - 备份脚本可独立运行,且 cron 定时任务已生效
- 最近一份备份已同步到网盘或另一台机器
- 近一个月做过一次真实恢复演练
- 备份文件没有放进任何 git 仓库或公共目录
常见场景对照:
| 场景 | 处置动作 |
|---|---|
| 配置被改坏 | ccr stop→ 解压最近备份覆盖 →ccr start |
| 换电脑 / 重装系统 | 新机器装好 CCR → 解压备份 → 启动 |
| Docker 容器数据丢失 | 按官方 Docker 指南用docker compose cp从卷中导出恢复 |
| 密钥泄露 | 恢复备份后,在对应 Provider 后台轮换密钥,再更新到 CCR 配置中 |
【免费下载链接】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),仅供参考