Как запустить скрипт оболочки перед перезапуском службы в Monit в случае сбоя

Как запустить скрипт оболочки перед перезапуском службы в Monit в случае сбоя

Я использую Monit 5.3.2 в моем Linux-боксе. Я отслеживаю некоторые службы с помощью 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

Связанный контент