|
|
f96f67707a
|
feat(watch): 站点漂移巡检(只读,有差异才提醒)
`site-drift-watch.sh` 巡检 192.168.2.106 上的两个站,**只读不动**:
不构建、不上传、不碰线上任何文件。档位是「有差异就提醒」而不是
「自动推」—— 文档站发错了是公开可见的,宁可等人点一下。
判三类信号:
1. 线上漂移:.106 上的站 ≠ 本机产物/site 源(逐字节 md5 清单比对)
2. 源码漂移:git HEAD 比产物新 ⇒ 提交了但没重新构建部署
3. 探活失败:.106 或 NapCat 挂了(比文档漂移紧急)
不复用 `deploy-sdk-site.sh --check`:那脚本输出是给人看的彩色文本,
拿来当机器判断依据太脆(改个文案就失效)。md5 清单逻辑很短,
这里复刻一份并在注释里指向 deploy-sdk-site.sh 保持同步。
## `.drift-watch/` 加入 .gitignore
里面的 `state` 是运行时状态(含时间戳与指纹,每次跑都变),不该入库。
## 提交前核实(两处我的检查写错了,脚本本身没问题)
- 我查"凭据"命中 1 处 ⇒ 实为注释里的「烧 token」,指 LLM token 非密钥。
真实密钥形态(`sk-*` / `password=`)**0 处**。
- 我查"部署调用"命中 6 处 ⇒ 全是**注释与提示文本**(提醒人去跑
`deploy-sdk-site.sh`)。实际执行 `rsync`/`scp`/调用部署脚本**均 0 处**,
`rm -rf` 0 处 —— 与它「只读」的声明一致。
- `set -uo pipefail` 少了 `-e`:**有意为之**。巡检要在某项检查失败时
继续跑完其余项,`-e` 会中途打断。实测跑一次四项全绿、无差异。
|
2026-09-28 08:45:03 +08:00 |
|