2011-12-26 56 views
4

我们使用专用的Amazon Ubuntu ec2实例作为Cron服务器,它在不同的时间间隔执行16个cron作业,即早晨4:15 - 7:15执行10个cron作业,其余23个:00 - 23:50。我通过电子邮件得到结果。我想配置一些内容,在当天结束时发送电子邮件,列出成功执行的cron作业和失败的cron作业。Jenkins监视外部cron作业

我有一个jenkins配置的ubuntu实例,用于自动构建Dev,Beta,Staging &现场环境。我可以在jenkins中添加这些cron作业shell脚本)作为外部作业并监视它们。可能吗?

回答

8

绝对有可能!您可以在此描述监控外部cron作业: https://wiki.jenkins-ci.org/display/JENKINS/Monitoring+external+jobs

您还可以通过创建自由泳软件项目添加cron作业(类似的行为)詹金斯,并添加“执行shell”作为构建过程。 这更方便一些,因为你也可以通过Jenkins触发执行(“Build now”)。

2

您可能可以将Jenkins monitor external job project typematrix project结合使用。至少前者将使您能够单独监控cron作业。

或者,您可以让当天最后一次受监视的cron作业触发构建一个项目,该项目检查所有cron作业的状态(例如,通过检索和比较最后一个和最后一个成功构建的构建号)并发送相应的电子邮件。 email plugin可能对后者有用。

1

检查CPAN或做一些网页挖掘shell或perl脚本来管理cron作业,并扩展其行为以执行一些报告,您可以使用HTML进行渲染。另外编写一个servlet和一些函数调用来做到这一点。

这成为您自己的独立显示器应用程序,它可以坐在詹金斯或独立部署。如果您选择将其添加到jenkins,那么将报告的HTML文件及其脚本添加到容纳jenkins的部署Web文件的容器中,建议将您的文件和脚本放在单独的容器中。

添加超链接到jenkins索引html,它将加载你的记者。现在重新启动tomcat并从那里开始。

0

另一种选择可能是看看Cronitor(https://cronitor.io)。它基本归结为一个跟踪信标,它使用http请求在cron作业/计划任务开始和结束时进行ping。

如果您的工作没有按计划运行,或者运行时间过长/太短等,您会收到通知。您还可以配置它通过电子邮件,短信,短信等方式向您发送警报,Hipchat,Pagerduty等。