在多台服务器上同步cronjob

问题描述:

我有多台服务器,它们通过cron-tab调度在JAVA中运行相同的后端进程。在多台服务器上同步cronjob

早些时候,我只有一台服务器,我用它来安排所有的工作。这很容易管理。

现在,随着服务器的增加和运行在具有相同代码库的所有服务器上的相同进程,我想在所有机器上安排相同的cron-jobs。

我面临问题,因为我必须面对很多麻烦,并且如果发生单一更改,请执行手动工作以更改/更新所有服务器。

任何人都可以告诉我一些方法来管理从一个共同点的多个服务器上的调度? 有没有任何工具/库/ API等来处理这种情况?

截至目前,我正在所有服务器上更新/复制(使用SCP)JAR,然后通过单独登录到每台服务器来重新启动所有进程。至于现在,我会更喜欢如果我不必更改我的JAVA代码来管理它(在日志运行中,我可以想到这一点)。但是,如果我可以创建一个小的JAVA应用程序(使用Quartz)或者甚至是一个shell脚本来处理调度,我会去做。

我想清楚,更新所有服务器上的JAR不是我的问题,我正在为此设置构建脚本(ANT)。

我担心的是所有服务器的常见调度代码。

有没有办法在远程服务器上启动作业的一台服务器上安排作业?如果发生这种情况,我只需要在一台服务器上管理日程安排。我不需要担心时钟同步问题。

+0

石英计划程序可以帮助吗? – 2013-04-22 06:01:50

+0

你的意思是,如果你可以改变代码,你必须把jar(类)放在所有的服务器上。对吧? – 2013-04-22 06:02:25

+0

正在更新的问题回答你的问题.. – 2013-04-22 06:04:30

您可以创建一个文本文件,其中包含crontab条目,并且当您在每个服务器中部署jar文件时,可以在相同的位置更新crontab同时使用蚂蚁,通过运行命令crontab mycrontab.txt

+0

有没有办法从一台服务器启动所有计划的作业? – 2013-04-22 12:21:30

+0

是的,你也可以使用远程shell或ssh。这个评论空间的讨论太大了。 – 2013-04-22 12:42:05