我有以下问题:
- 机器太多了。
- 一些机器组共享相同的 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
答案3
使用像 puppet(或 cfengine、bcfg2 等)这样的配置管理工具,您可以从集中位置管理比 crontabs 更多的内容。