| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| systemd | ||
| README.md | ||
| deploy-docs.sh | ||
| deploy-prod.sh | ||
| deploy.sh | ||
| first-import.sh | ||
| gen-env.sh | ||
| health-watch.sh | ||
| pac-backup.sh |
外部探针解决了「pac-service 死了没人知道」,但它自己也会死:测试机宕、cron 被删、 脚本改坏、/etc/pac-health-watch.env 丢失 —— 这些情况下探针**静静地停掉**, 而所有人以为它还看着。这是 09-04 的同款失败换个位置又出现一次。 每天固定时刻(默认 9 点,WATCH_HEARTBEAT_HOUR=-1 关)推一条「我还活着 + 过去一个周期探了几次/失败几次」。刻意排在生产每日健康报告(09:07)旁边: 两条都到 = 两侧都活;只到一条 = 立刻知道断的是哪一侧。 两个实现细节: · 心跳判据是「今天还没推过 且 已到点」,不是「分钟正好相等」—— cron 可能因负载/重启错过某一格,按分钟判会整天不推,而漏推 = 误报"探针死了"。 · 状态文件的每个数值字段都做正则校验。它是被 source 的,写坏一次(磁盘满/并发) 会让后面的算术直接语法错退出 → 探针静默死亡,正是本脚本要防的那类失败。 已用"塞垃圾进状态文件"的用例验证能自愈。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| systemd | Loading commit data... | |
| README.md | Loading commit data... | |
| deploy-docs.sh | Loading commit data... | |
| deploy-prod.sh | Loading commit data... | |
| deploy.sh | Loading commit data... | |
| first-import.sh | Loading commit data... | |
| gen-env.sh | Loading commit data... | |
| health-watch.sh | Loading commit data... | |
| pac-backup.sh | Loading commit data... |