首页/系统/Linux 运维命令速查/timer 补跑:Persistent=true
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条
定时任务与计划50 条

timer 补跑:Persistent=true

Persistent=true 让 OnCalendar 定时器记录最后触发点:关机期间错过的触发在开机后立即补一次,是 cron 不具备的能力。

Linux 运维命令速查系统更新于 2026-10-12
用途补跑关机期间错过的调度
适用OnCalendar 类 timer
记录/var/lib/systemd/timers/ 时间戳

示例

示例
# /etc/systemd/system/backup.timer
[Unit]
Description=daily backup

[Timer]
OnCalendar=*-*-* 02:30:00
Persistent=true
RandomizedDelaySec=10min

[Install]
WantedBy=timers.target

验证补跑

验证补跑
ls -l /var/lib/systemd/timers/
systemctl list-timers backup.timer
journalctl -u backup.service --since '-1 hour' --no-pager
补跑只补「一次」:关机一周的日备任务不会连补七次,需要逐日数据时进脚本按日期检查缺口。

易错点

  • Persistent 对 OnBootSec/OnUnitActiveSec 类相对计时器无意义,别混用
  • 手动 systemctl start 会刷新时间戳,误以为补跑失败时先看 journal 有无执行记录

数据来源与参考

  • man 5 systemd.timer(Persistent)
  • systemd 官方文档:timers

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌