首页 文章

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

提问于
浏览
3

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

  • ~15个开发人员,一些负责通过个人crontab运行的cron作业

  • 30台机器,其中一些正在运行cron工作,有时是几个人

  • 许多cron作业没有被记录,他们所有的stdout和stderr被管道传输到/ dev / null(令我懊恼)

  • 一些cron工作太吵了,吐出多余的文本,使得来自cron的电子邮件变得很痛苦

  • 大多数cron作业,如果受到监控,则转到群组电子邮件别名,因此很多人会看到与他们无关的消息,并习惯于忽略它们

  • cron工作经常失败,我们没有及时注意到

  • 我们的备份系统正在跟踪一些cron作业,而其他人则没有 . 没有源代码控制 .

  • 当我们的某个服务器发生故障时,这意味着存储在用户's crontab files on that machine do not run, and we don'中的任何cron作业都意识到cron作业无法运行

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

  • 任何开发人员都可以轻松进入并调整/修复cron-job,而不是将其限制为个人crontabs

  • 具有关于运行cron作业的计算机的灵活性,即使crontab以某种方式集中在特定计算机上

  • 所有成功的cron作业都被简洁地记录下来,所以我们知道发生了什么事

  • 所有错误都被捕获并根据错误消息和cron作业报告给相关开发人员的细粒度列表

  • 可以将用户设置为监视某些cron作业,无论它们是成功还是失败

  • 用户可以收到摘要(电子邮件或网页),其中详细说明哪些作业失败,哪些作业在特定时间窗口内成功完成

  • 使用RRDtool之类的内容记录cron作业统计信息(运行时间,退出状态,输出量)以进行分析

  • 健壮性:一台服务器停机不会破坏整个cron作业系统

在线搜索,我看到了"cron job best practices"的一些讨论,但它似乎只是解决了我们的一些要求 . 在对这些功能中的某些功能的软件支持方面,似乎有像cronic,shush和cronwrap这样的工具(抱歉,我确定还有更多我缺失的东西 .

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

1 回答

  • 0

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

    Job schedulerWork load automation解决方案,这个list of job scheduler software .

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

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

相关问题