Como executar um script shell antes de reiniciar um serviço no Monit em caso de travamento

Como executar um script shell antes de reiniciar um serviço no Monit em caso de travamento

Estou usando o Monit 5.3.2 na minha caixa Linux. Estou monitorando alguns serviços usando o Monit. Quero executar um script antes de executar o comando de reinicialização. Eu usei as condições abaixo para o mesmo.

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

Infelizmente, apenas a ação de reinicialização está sendo executada.

Alguém pode me ajudar a identificar por que a primeira regra não é executada? Existe alguma outra maneira de resolver o problema?

Responder1

Esta não é uma resposta definitiva, pois sou um novato e atualmente estou procurando um problema semelhante.

Atualmente suspeito que a última regra substitui todas as regras anteriores.

Se sim, tente:

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

informação relacionada