用 systemd timer 取代 crontab 的几点体会
家里那台小主机上原来有七八条 crontab,时间久了谁跑没跑、失败了没有,全靠翻邮件。这个月索性全部换成了 systemd timer,记录几点体会。
日志直接进 journal
最大的好处是输出统一进 journal,journalctl -u backup.service 一眼就能看到上次执行的结果,不用再自己重定向到某个 log 文件。
[Timer]
OnCalendar=*-*-* 03:30:00
RandomizedDelaySec=10min
Persistent=true
Persistent=true 很实用
机器关机错过的任务,开机后会补跑一次。笔记本或者不常开的机器尤其需要这个。
缺点
一个任务要写两个文件,比一行 crontab 啰嗦不少。我的做法是写了个小脚本生成模板,算是能接受。