Linux 提供了三种不同的作业调度程序,即 Cron、Anacron 和 Systemd-Timer。与 Systemd-Timer 相比,Cron/Anacron 有哪些优势?
答案1
支持 Cron
- 只需一行简单输入 /etc/crontab,您的作业即可运行
支持 systemd
- 具有相同环境变量集的一致运行时环境。这解决了 Cron 作业的一个常见问题:它们在一个环境中运行良好,而不能通过 cron 运行,因为环境中的 PATH 或其他值不同。
- 更好的日志记录!
systemd
捕获您的作业的 STDOUT 和 STDERR 并将其存储在 systemd 日志中。 - 更好的工作状态。您可以使用它
systemctl status your-service
来检查运行状态。除了梳理日志之外,cron 没有提供查询服务状态的结构化方法。 - 更好的计时器状态。用于
systemctl list-timers
获取已启用计时器的摘要,并查看它们上次运行的时间以及下次运行的时间。
总之
Systemd 计时器需要花费一些时间来学习和设置,但也提供了许多好处。有一些软件包,例如systemd-cron
和systemd-cron-next
,允许您将cron
条目转换为systemd-timers
,以尝试提供两全其美的解决方案