太多 cron - 太多机器!

cri*_*iss 6 automation cron

我有以下问题:

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

是否有一些工具(带有 Web 界面和 gnu)来管理此类事情?

谢谢聪明人!!厘米

Dav*_*ner 7

诸如PuppetCapistranoCFEngine 之类的配置管理系统是可以做到这一点以及更多的工具。

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

他们在 Puppet 站点(见这里)上有非常好的教程和文档,而且设置起来也不会太麻烦。

如果有数百台机器,尽快启动并运行它们,你会想知道没有它们你是如何处理的(即使是简单的事情,比如将 cronjobs 推送到许多机器)!

  • 另请查看 Chef - http://wiki.opscode.com/display/chef/Home (2认同)

小智 1

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

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

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

如果你真的需要一些快速而肮脏的东西,你应该有一个文件,比方说 /etc/cron.d/all-jobs ,部署在所有机器上,并在该文件中决定是否应该根据以下内容运行 cron主机名。就像是:

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

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