6

php cron ジョブを実行するように構成された 2 つのアプリ サーバーがありますが、いつでもジョブを実行できるのは 1 つだけです。私はすでに他の目的で keepalived を使用しているので、ノードに仮想 IP があるかどうかを確認してジョブを実行するロジックを cron ジョブに含めることを考えています。したがって、理論的には、両方のサーバーが同時に cron ジョブを実行していても、「実際の」ジョブを実行しているのは 1 つだけです。

しかし、私の質問は、ノードに vip があるかどうかを確認する方法ですか? 誰かが私にそれについてアドバイスできますか?

ありがとう。

4

2 に答える 2

6

私はただこれをしなければなりませんでした。使用しているボックスがパブリック IP をフローティングしているかどうか、IP がたとえば abcd であるかどうかを確認するだけの場合は、次を実行するだけで十分です。

ip a | grep a.b.c.d

bashでは、そのコマンドの出力を条件自体として使用できると確信しています。マシンがパブリック ip をフローティングしていない場合、出力は空である必要があるため、false と評価され、ip に一致する場合は true と評価されます。

于 2014-02-14T21:43:27.410 に答える