# CIR Scripts ## `cir-rsync-wrapper` 一个用于 CIR 黑盒 replay 的 rsync wrapper。 ### 环境变量 - `REAL_RSYNC_BIN` - 真实 rsync 二进制路径 - 默认优先 `/usr/bin/rsync` - `CIR_MIRROR_ROOT` - 本地镜像树根目录 - 当命令行中出现 `rsync://...` source 时必需 ### 语义 - 仅改写 `rsync://host/path` 类型参数 - 其它参数原样透传给真实 rsync - 改写目标: - `rsync://example.net/repo/a.roa` - → - `/example.net/repo/a.roa` ### 兼容目标 - Routinator `--rsync-command` - `rpki-client -e rsync_prog` ## 其它脚本 - `run_cir_replay_ours.sh` - `run_cir_replay_routinator.sh` - `run_cir_replay_rpki_client.sh` - `run_cir_replay_matrix.sh` ## `cir-local-link-sync.py` 当 `CIR_LOCAL_LINK_MODE=1` 且 wrapper 检测到 source 已经被改写为本地 mirror 路径时, wrapper 不再调用真实 `rsync`,而是调用这个 helper 完成: - `hardlink` 优先的本地树同步 - 失败时回退到 copy - 支持 `--delete` `run_cir_replay_matrix.sh` 会顺序执行: - `ours` - Routinator - `rpki-client` 并汇总生成: - `summary.json` - `summary.md` - `detail.md`