2013-04-22 5 views
1

У меня есть несколько серверов, которые выполняют один и тот же внутренний процесс в JAVA через планирование cron-tab.Синхронизировать cronjobs на нескольких серверах

Раньше у меня был только один сервер, на котором я планировал все задания. Это было проще в управлении.

Теперь с увеличенными серверами и тем же процессом, работающим на всех серверах с одинаковой базой кода, я хочу запланировать одинаковые задания cron на всех машинах.

У меня возникла проблема, потому что мне приходится сталкиваться с множеством проблем и выполнять ручную работу по изменению/обновлению всех серверов, если есть одно изменение.

Может ли кто-нибудь сказать мне, как управлять расписанием на нескольких серверах из общей точки? Есть ли какой-нибудь инструмент/библиотека/API и т. Д., Чтобы справиться с такой ситуацией?

На данный момент я обновляю/копирую (используя SCP) JAR на всех серверах, а затем перезапускаю все процессы, индивидуально регистрируясь на каждом из серверов.

На данный момент я предпочитаю, если мне не нужно менять код JAVA, чтобы управлять этим (во время выполнения журнала я могу думать об этом).

Однако, если я могу создать небольшое приложение JAVA (используя Quartz) ИЛИ даже скрипт оболочки для обработки планирования, я поеду за ним.

Я хочу быть ясным, что обновление JAR на всех серверах не является моей проблемой, я работаю над сценарием сборки (ANT) для этого.

Моя забота - общий код планирования для всех серверов.

Есть ли способ запланировать задания на одном сервере, который запускает задания на удаленном сервере? Если это произойдет, мне нужно только управлять расписанием на одном сервере. Мне также не нужно беспокоиться о проблемах синхронизации часов.

+0

может использовать кварцевый планировщик? –

+0

Вы имеете в виду, что если вы можете изменить код, вы должны поместить банку (классы) на всех серверах. Правильно? –

+0

Обновление вопроса для ответа на ваши вопросы .. –

ответ

1

Вы можете создать текстовый файл, содержащий записи crontab в нем, а при развертывании файла jar на каждом сервере вы можете обновить crontab в том же время, используя ant, выполнив команду crontab mycrontab.txt.

+0

Есть ли способ запустить все запланированные задания с одного сервера? –

+0

Да, вы также можете это сделать, используя удаленную оболочку или ssh. Слишком большая дискуссия для этого пространства комментариев. –

Смежные вопросы