私は Linux ボックスで Monit 5.3.2 を使用しています。Monit を使用していくつかのサービスを監視しています。再起動コマンドを実行する前にスクリプトを実行したいのですが、そのために以下の条件を使用しました。
if does not exist for 2 times within 3 cycles then exec "/bin/bash -c 'touch /tmp/somefile'" as uid someuser and gid someuser
if does not exist for 10 cycles then restart
残念ながら、再起動アクションのみが実行されます。
最初のルールが実行されない理由を特定するのを手伝ってくれる人はいますか? 問題を解決する他の方法はありますか?
答え1
これは決定的な答えではありません。私は現在同様の問題を追いかけている初心者です。
現時点では、最後のルールが以前のすべてのルールに優先するのではないかという疑念を抱いています。
もしそうなら、次のことを試してください:
if does not exist for 2 times within 3 cycles
then exec "/bin/bash -c 'touch /tmp/somefile'" as uid someuser and gid someuser
ELSE if does not exist for 10 cycles then restart