用于控制cron作业复杂性的方法或软件系统?

时间:2012-12-04 22:37:10

标签: email logging automation cron analytics

在我的工作中,我们大量使用cron来自动化许多系统管理任务,从备份到报告生成。问题在于,我们50多个cron工作系统的复杂性在其自身的重量下开始崩溃。让我来描述一下我们的设置:

  • ~15位开发人员,一些负责通过个人crontab运行的cron工作
  • 30多台机器,其中一些正在运行cron作业,有时是由几个人运行
  • 许多cron作业没有被记录,他们所有的stdout和stderr都被管道传输到/ dev / null(令我懊恼)
  • 一些cron工作太吵了,吐出多余的文本,使得来自cron的电子邮件痛苦地筛选
  • 大多数cron作业,如果受到监控,就会转到群组电子邮件别名,因此很多人会看到与他们无关的消息,并且习惯于忽略它们
  • cron工作经常失败,我们没有及时注意到
  • 我们的备份系统正在跟踪某些cron作业,而其他人则没有。没有源代码控制。
  • 当我们的某个服务器发生故障时,这意味着存储在该计算机上用户的crontab文件中的任何cron作业都不会运行,我们也没有意识到cron作业无法运行

理想情况下,我们需要一个设置或软件系统:

  • 任何开发人员都可以轻松进入并调整/修复一个cron-job,而不是将其限制为个人crontabs
  • 即使crontab以某种方式集中在特定计算机上,也可以灵活运行cron作业运行的计算机
  • 所有成功的cron作业都会被简洁地记录下来,所以我们知道发生了什么事
  • 所有错误都被捕获并根据错误消息和cron作业报告给相关开发人员的细粒度列表
  • 用户可以设置为监控某些cron作业,无论是成功还是失败
  • 用户可以收到摘要(电子邮件或网页),详细说明哪些作业失败,哪些作业在特定时间窗口内成功
  • 使用RRDtool之类的内容记录cron作业统计信息(运行时间,退出状态,输出量)以进行分析
    • 健壮性:一台服务器停机不会破坏整个cron作业系统

在线搜索,我看到"cron job best practices"的一些讨论,但它似乎只能解决我们的一些要求。在某些功能的软件支持方面,似乎有像cronic,shush和cronwrap这样的工具(对不起,我是新用户,限于2个超链接)。我确信还有更多我不知道的。

似乎我可以编写类似这样的东西,但似乎必须已经创建了类似的东西。关于现有系统/方法的任何建议,或者关于如何构建这样一个系统的指示,将不胜感激。

1 个答案:

答案 0 :(得分:0)

我不是这方面的专家,但我希望这可以帮到你, 我最近听说过这项新技术:

Job schedulerWork load automation解决方案以及此list of job scheduler software

实际上我对此一无所知,但我认为这个Job schedulers和Work load automation软件是SOA或Enterprise Integration Architectures中使用的企业级作业调度程序,通常可以与ERP系统集成。

老实说,我必须承认,我不确定这项技术是否适合您的需求,您必须对此主题进行深入研究,我希望此响应能够扩展您的“解决方案全景”。