
这套东西的目标只有一个:让系统在没人看着的时候也能自己活着,并且坏了能自己爬回来。
cronsystemd timer自愈告警回滚
在自动做什么
| 任务 | 频率 | 动作 |
|---|---|---|
| AI 额度巡检 | 每 10 分钟 | 额度见底 → 自动切换车道顺序 |
| 节点复验 | 每 2 天 | 全量测速 → 淘汰失效节点 |
| 磁盘体检 | 每天 | 阈值告警 + 清理建议 |
| 域名续费守夜 | 每天 | 到期前 30 天微信提醒 |
| 空闲关机 | 常驻 | 20 分钟无人用 → 断电 |
自愈的三条规矩
1. 每个自愈都要有回退
动作器做完任何改动,必须立刻自检;自检失败就自动回滚。没有回滚的自愈等于加了一个新的故障源。
2. 配置必须落库
手写的配置文件活不过一次服务重启。曾经踩过:一个脚本每 3 分钟改一次 config,内核重启又把它冲掉,形成死循环,一天重启了 910 次。结论是——改配置要改在真正被读取的地方。
3. 告警要能推动人
通知推到微信,但不该天天响。只在"人必须做点什么"的时候响:额度真用完、域名真快到期、服务真挂了。天天响的告警等于没有告警。
为什么值得
这些脚本每一条省下的都不多——几分钟。但它们是不需要被记住的那部分运维:你不用想起来去看额度,不用想起来去续费,不用想起来去清磁盘。系统自己会说话。
好的自动化不是让人偷懒,是让人把注意力留在真正需要判断的地方。