我有以下问题:
有希望(有一个networking界面,GNU)有一些工具来pipe理这种事情?
感谢智者! 厘米
答案是自动化(cfengine / puppet / bcfg2 / chef / others)。 但是除非你能严格控制,否则那些人不会真正帮助你。 您可以轻松地通过两个步骤获得:
所以把你所有的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。