运行错过的 cron 的自动化方法

运行错过的 cron 的自动化方法

我们每个月都会重新部署服务器映像,这会导致 30 分钟到 2 小时的停机时间。每次我都必须手动浏览批处理服务器上的 cron 选项卡,以手动运行停机期间错过的任何 cron。

有没有自动化的方法可以做到这一点?我可以指定开始时间、结束时间和 cron 选项卡,然后脚本将运行每个应该在该时间窗口中运行的 cron 一次。

在我努力编写一些东西来解析 crontab 之前,我希望类似的东西已经存在。

这适用于 AWS 中的 Linux 主机(Ubuntu 18.04 和 AZN Linux)。

谢谢!

答案1

不只使用 cron,它只知道当前时间。要么让你自己的脚本更聪明,避免错过间隔,要么将它们移植到不同的调度程序。

Linux 发行版打包的典型选项包括 anacron 或 systemd 计时器。前者比较老,更像 cron,而后者具有较新的功能,但并不普遍使用。


或者,您可以实施 HA 系统。通过将处理移至负载平衡器或集群中的其他节点来进行滚动升级。

相关内容