我在各种服务器上有几个cron-jobs和后台任务。这些任务可能由于多种原因而失败:
为什么他们不能跑步很重要,但最重要的是知道他们没能跑。
是否有统一的方法来监控多个作业,如果因任何原因无法在预定的时间运行,则会收到警报?我正在使用Ubuntu,脚本主要使用Ruby。
注意:
我专门寻找一个跨多个服务器工作的框架或系统,它通过内置的电子邮件或文本发出警报,并且可以在有限的磁盘空间中存活。所以提出的解决方案 How can I setup a system to tell me if a cron job is NOT running fine?似乎不适用。
答案 0 :(得分:4)
它仍在积极开发中,但我建议您查看https://github.com/jamesrwhite/minicron,我相信它符合您指定的所有要求以及更多!
免责声明:我是开发人员。
答案 1 :(得分:4)
Cronitor(https://cronitor.io)是我为此目的而构建的工具。它基本上归结为使用http请求作为ping的跟踪信标(类似于pushmon)。
然而,我所拥有的一个需求(以及pushmon和类似工具无法提供的)是在cron作业开始运行时间过长(或者相反,如果它们开始完成得太快)时收到警报。 Cronitor通过允许您可选地触发begin事件和end事件来解决此问题,以便跟踪持续时间。
持续时间跟踪对我来说是必须的,因为我有一个每小时安排的cronjob,但随着时间的推移开始需要一个多小时才能运行。那是一场灾难;)
答案 2 :(得分:1)
http://www.pushmon.com会满足您的需求吗?它的构建主要是为了让您知道cron作业或计划任务是否无法运行。您可以将它放在任何服务器上,并提供电子邮件和文本警报。想法是当你的工作成功运行时“ping”PushMon,如果没有收到ping,PushMon会提醒你。
答案 3 :(得分:0)
虽然它可能无法满足您的所有需求: https://github.com/javan/whenever