Ubuntu 定时器功能全览
核心功能
常用工具与定位
关键能力对比
| 能力 | cron/crontab | systemd timers | at |
|---|---|---|---|
| 调度类型 | 周期性(分/时/日/月/周) | 周期性或日历式,支持 OnBootSec/OnCalendar | 一次性 |
| 配置入口 | 命令行 crontab -e | 单元文件 .timer/.service | 命令行 at |
| 日志与追踪 | 可重定向输出;系统日志可记录 cron 执行 | 由 journald 管理,便于按单元追踪 | 依赖系统日志 |
| 典型场景 | 常规周期任务(备份、清理、报表) | 与系统服务联动、开机即启、精确计时 | 临时任务(几分钟/几小时后执行) |
典型用法示例
每天 02:00 执行备份脚本并将输出写入日志
0 2 * * * /path/to/backup.sh >> /var/log/backup.log 2>&1
每小时的 第 3 分钟 执行任务
3 * * * * /usr/local/bin/task.sh
工作日(周一至周五)09:00 发送提醒
0 9 * * 1-5 /usr/bin/notify-send “Workday 09:00 Reminder”
使用 systemd timer 每小时触发一次服务
/etc/systemd/system/my_script.timer:
[Timer]
OnBootSec=1min
OnUnitActiveSec=1h
Unit=my_script.service
启用:sudo systemctl enable --now my_script.timer