本页目录
定时任务与自动调度
所有自定义定时任务统一用 systemd timer,不碰 cron。比 cron 好在:日志进 journald 统一检索、依赖链(After/Wants)、随机延迟防惊群、失败重试机制、
systemctl list-timers一眼看全局。本文按频率分组:高频(秒级采集与自愈)→日度(同步与采集)→月度(证书)→守护型(长周期健康检查)。
一、高频(≤5 分钟):秒级采集与自愈
这些 timer 负责实时指标采集和故障自动恢复,输出到 node_exporter textfile collector → Prometheus,挂了会丢监控数据或断网。
amdgpu-metrics(每 10s)
采集 GPU 温度/功耗/频率。
[Timer]
OnBootSec=15s
OnUnitActiveSec=10s
net-metrics(每 15s)
采集 WiFi 信号强度/链路质量 + 代理延迟探针。
rathole-probe(每 30s)
对所有 rathole 暴露的服务做 TCP/TLS/HTTP 健康检查,输出 rathole_service_up gauge。这个指标驱动了 Grafana 的 rathole 告警规则(见 monitoring.md)。
探活目标:
TCP: 中转 VPS :2333(rathole 控制通道)
HTTPS: derp / grafana / chat / doc / paste / caldav / owntracks
→ rathole_service_up{service="doc"} 1/0
owntracks-collector(每 30s)
从本机 OwnTracks Recorder API 拉取家庭成员 GPS 位置、电量、精度 → textfile collector。
wifi-watchdog(每 30s)
ping 网关 .1,连续失败分层自愈:重连→射频重置→驱动重载。详见 network-recovery.md。
[Timer]
OnBootSec=60s
OnUnitActiveSec=30s
llama-gpu-sync(每 15s)
按 GPU 真实负载切换功耗档:busy≥50%→COMPUTE(档5),闲置>90s→BOOTUP_DEFAULT(档0)。用户级 timer。详见 local-llm.md。
# ~/.config/systemd/user/llama-gpu-sync.timer
[Timer]
OnBootSec=15s
OnUnitActiveSec=15s
二、日度:同步与采集
凌晨错峰执行,避免争抢 CPU/网络/N100 写入。
sync-subscribe(03:30)
真源 mihomo config → 脱本机化消毒 → rsync 到中转 VPS,输出 clash.yaml + sub.txt(v2rayN base64),供手机漫游导入。
sync-mihomo-to-router(03:45)
抽真源 proxies/groups/rules 三段 → N100 Nikki profile,双端校验 + 备份 + 失败自动回滚。与订阅错开 15 分钟避免同时写 N100。
以上两条详见 network-architecture.md 配置派生流水线。
backup-system(04:00,随机延迟 10min)
系统盘 rsync 增量到 tank/backup/system + ZFS 快照,保留 30 份。idle IO 优先级,Persistent=true 错过补跑。详见 system-backup.md。
eix-sync(06:31)
Gentoo eix 数据库同步。标准系统 timer,Portage 安装自带。
sgcc-collector(08:00,随机延迟 10min)
采集国网电费数据 → textfile collector → Prometheus。环境变量 /etc/default/sgcc-collector。
llm-job@daily-harvest(23:50)
夜间从当天 Claude Code 会话 + openclaw 记忆里,用本地模型 map-reduce 提炼「实际完成的工作」,幂等补进当天 ~/doc/daily/。治本"完成的事没被 doc-daily-log 记下"的网罗性问题。属 llm-jobs 框架。
llm-job@daily-report(09:00)
每日汇总(天气、工作日志摘要、城市)推送到微信。读昨日 ~/doc/daily/(已被 daily-harvest 补全),经本地模型去重分组成人话再投递;模型不可用回退原始分组。城市读 ~/.current-city(由 iOS 捷径/openclaw 维护)。属 llm-jobs 框架,模板单元 llm-job@.service。取代旧 daily-report-weixin.timer(已停用,脚本保留作回退)。
三、月度
acme-renew(每月 20 日 03:00)
acme.sh DNS-01(AliDNS)自动续期 *.liz6.com 通配符证书,部署到 DERP 服务器。走代理 127.0.0.1:7890(ACME 请求需出国)。
四、守护型:长周期健康检查
rathole-watchdog(每 5min)
探 doc 隧道健康端点,连续 3 次失败 docker restart rathole-client,防抖动误杀。详见 rathole-tunnel.md。
# ~/.config/systemd/user/rathole-watchdog.timer
[Timer]
OnBootSec=2min
OnUnitActiveSec=5min
五、标准系统任务(cron)
仅系统自带,无自定义 cron 任务:
| 任务 | 路径 | 频率 |
|---|---|---|
| man-db | /etc/cron.daily/ | 每日 |
| smartmontools-update-drivedb | /etc/cron.monthly/ | 每月 |
相关文档
- network-architecture.md — 配置派生流水线 + 守护进程
- rathole-tunnel.md — 隧道守护
- local-llm.md — GPU 功耗调度
- network-recovery.md — WiFi 自愈策略
- system-backup.md — 系统盘备份与恢复
- monitoring.md — 监控架构(rathole-probe 指标驱动 Grafana 告警)
- software.md — 软件栈清单