分布式 cron

分布式 cron

我维护许多服务器,并有以下要求

  1. 在给定时间运行unix进程
  2. 在启动时运行一个 unix 进程并保持其运行(以防其死机)
  3. 禁用正在运行的进程

我现在正在使用 cron,但是在不同的服务器上维护本地 cron 很耗时。

是否有分布式 cron 机制?最好将“cron”配置存储在数据库中,这样我就可以通过 Web 界面访问它。

答案1

用一个配置管理系统, 喜欢厨师或者木偶让配置管理服务器根据各个节点的角色向它们推送适当的 cron/Upstart/monit/whatever 配置。是的,设置这个可能比手动将 crontab 文件到处发布需要更多的投资,但您最终会获得一个对您尝试管理的所有服务器的集中控制点。

答案2

对于 cron 更新,您可以将 cron 文件的副本放在 Web 服务器上,并让您的计算机根据存储在 Web 服务器上的文件内容更新其 cron 文件。这样您就可以在一个地方进行 cron 更新。缺点是您的所有计算机的安全性只能与 Web 服务器一样,因为任何能够操纵 Web 服务器内容的人都可以在您的任何系统上运行任意命令。

答案3

  1. 使用cron

  2. 使用inittab

  3. inittab如果由- 编辑管理inittab
    如果由系统启动 ( /etc/init.d& /etc/rc[0-6].d) 管理 - 使用chkconfigservice

man inittab

   respawn
          The  process  will  be  restarted  whenever  it terminates (e.g.
          getty).

为了在多系统复制系统中维护这些,我只能想到类似的东西rsync。我不知道 NIS/YP 之类的东西是否可用。您可能正在寻找更企业级的解决方案。

答案4

看来 ucron 很符合你的要求。我自己还没有尝试过。http://siag.nu/ucron/也许有事?

相关内容