太多的克朗 – 太多的机器!

我有以下问题:

  • 机器太多了。
  • 有些机器组共享相同的cronconfiguration,有些不是。
  • 有时候,我需要在数百台机器上手动添加一个crontab条目。
  • 我总是犯错误,我的BOSS似乎不喜欢…

有希望(有一个networking界面,GNU)有一些工具来pipe理这种事情?

感谢智者! 厘米

答案是自动化(cfengine / puppet / bcfg2 / chef / others)。 但是除非你能严格控制,否则那些人不会真正帮助你。 您可以轻松地通过两个步骤获得:

  • 得到一个源代码pipe理库运行 – 我build议颠覆开始
  • 将scm与您所select的自动化工具集成在一起

所以把你所有的cron移到/etc/cron.d/中,并使用一个可以容纳你的系统的命名scheme。 其次,将所有/etc/cron.d/目录放在subversion中,并在每台机器上进行本地签出。 您将能够手动pipe理所有内容,并具有更改的历史logging,能够跟踪任何没有最新crontabs的机器等等。 然后你可以得到一个自动化软件为你做这一切。

如果你真的需要一些快速和肮脏的东西,你应该有一个单独的文件,比如/etc/cron.d/all-jobs,部署在所有的机器上,并决定是否应该运行一个cron文件。主机名。 就像是:

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

这不是很有效率,但它应该让你的生活更轻松,直到你进行一些自动化。

像Puppet , Capistrano和CFEngine这样的configurationpipe理系统是可以做到这一点的工具。

如果你不得不为cronpipe理很多机器,那么你可能还需要在这些机器上configuration一些其他的东西,所以迟早你需要调查的不仅仅是pipe理cronjob。

他们在Puppet站点上有非常好的教程和文档( 见这里 ),而且他们并不是很痛苦的设置。

如果是数百台机器,请尽快与他们联系起来,并且你会想知道如何在没有他们的情况下应付自如(即使只是简单地把cronjobs推到很多机器上)!

使用像puppet(或cfengine,bcfg2等)的configurationpipe理工具,你可以从一个集中的位置pipe理更多的crontabs。