2013-08-23 2 views
3

У меня есть 2 сервера приложений, настроенных для запуска задания php cron, но только 1 может запустить задание в любое время. Поскольку я уже использую keepalived для других целей, я думаю о том, чтобы иметь некоторую логику в задании cron, чтобы проверить, имеет ли узел виртуальный ip, а затем выполнить задание. Теоретически, хотя на обоих серверах одновременно выполняется задание cron, только 1 будет выполнять «реальную» работу.keepalived check, который является главным узлом

Но мой вопрос в том, как проверить, есть ли у узла vip? Может ли кто-нибудь мне посоветовать?

Спасибо.

ответ

2

Мне просто нужно было это сделать. Если вы просто хотите проверить, если окно вы на плавающем общественную ф и ф, скажем, ABCD, то достаточно запустить:

ip a | grep a.b.c.d 

Я уверен, что в Баше вы можете использовать вывод этой команды как самого условного. Если машина не плавает общедоступный ip, вывод должен быть пустым, поэтому вы можете определить значение false, и если есть соответствие для ip, тогда он должен оценивать значение true.

+0

С несколькими дюжинами определений 'virtual_ipaddress' в' keepalived v1.2.7' на Ubuntu 14.04 я не вижу существенной разницы в результатах 'ip addr show 'между основным и дополнительным узлами. – parhamr

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