太多 cron - 太多机器!

太多 cron - 太多机器!

我有以下问题:

  • 机器太多了。
  • 一些机器组共享相同的 cron 配置,一些则不然。
  • 有时,我需要在数百台机器中手动添加 crontab 条目。
  • 我总是犯错误,我的老板似乎不喜欢这样......

是否有某种工具(带有 Web 界面和 GNU)可以管理这类事情?

谢谢聪明人!!CM

答案1

答案是自动化(cfengine/puppet/bcfg2/chef/others)。但除非你能严格控制它们,否则它们对你没有真正的帮助。你可以通过两个步骤轻松实现这一点:

  • 运行源代码管理存储库 - 我建议先从 Subversion 开始
  • 将 scm 与您选择的自动化工具集成

因此,将所有 cron 移至 /etc/cron.d/ 并使用适合您系统的命名方案。其次,将所有 /etc/cron.d/ 目录放入 subversion 中,并在每台机器上进行本地签出。您将能够手动管理所有内容并拥有更改历史记录,能够跟踪任何没有最新 crontab 的机器等等。然后,您可以让自动化软件为您完成所有这些工作。

如果你真的需要一些快速而粗糙的东西,你应该有一个单身的文件,比如说 /etc/cron.d/all-jobs,部署在所有机器上,并在该文件中根据主机名决定是否运行 cron。例如:

*/5 * * * * 根 [[ $HOSTNAME == 'myhostname' ]] && /usr/bin/job.sh

这不是很有效,但在你实现一些自动化之前它应该可以让你的生活更轻松。

答案2

配置管理系统例如木偶卡皮斯特拉诺CF引擎是可以实现这些以及更多功能的工具。

如果您必须为 cron 管理多台机器,那么您可能还需要在这些机器上配置许多其他东西,因此迟早您需要调查的不仅仅是管理 cronjobs......

他们在 Puppet 网站上有非常好的教程和文档(看这里),而且安装起来也不太麻烦。

如果有数百台机器,请尽快启动并运行它们,您会想知道没有它们您是如何应对的(即使是像将 cronjobs 推送到许多机器这样简单的事情)!

答案3

使用像 puppet(或 cfengine、bcfg2 等)这样的配置管理工具,您可以从集中位置管理比 crontabs 更多的内容。

相关内容