本页目录

定时任务与自动调度

所有自定义定时任务统一用 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/每月

相关文档