一、at:一次性定时
echo "shutdown -h now" | at 23:00 # 今晚 11 点执行一次
atq # 查看队列
atrm 1 # 删除
适合”几小时后跑一次”的临时任务,不像 cron 会反复触发。
二、anacron:断电能补跑
面向笔记本/经常关机的主机:记录上次执行时间,开机后若错过周期则补跑(如 /etc/anacrontab 的 daily/weekly)。精度低(按天),但可靠性高。
三、systemd timer:现代替代
比 cron 更精确、可依赖其他 unit、带日志:
# /etc/systemd/system/backup.timer
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true # 错过也补跑
[Install]
WantedBy=timers.target
配对的 backup.service 定义实际执行,systemctl enable backup.timer 启用。
四、选型对比
| 方案 | 适用 |
|---|---|
| cron | 通用周期任务,简单直观 |
| at | 一次性延后执行 |
| anacron | 关机主机补跑日级任务 |
| systemd timer | 新系统、需依赖/高精度/日志 |