2013-04-22 138 views
1

我有多臺服務器,它們通過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

回答

1

您可以創建一個文本文件,其中包含crontab條目,並且當您在每個服務器中部署jar文件時,可以在相同的位置更新crontab同時使用螞蟻,通過運行命令crontab mycrontab.txt

+0

有沒有辦法從一臺服務器啓動所有計劃的作業? – 2013-04-22 12:21:30

+0

是的,你也可以使用遠程shell或ssh。這個評論空間的討論太大了。 – 2013-04-22 12:42:05

相關問題