Eu escreveria um pequeno script bash contendo as ações do evento desejado. Chame esse script da Monit.
É mais limpo, mais modular e se comportará de maneira mais previsível. A mesma ideia se aplica a tarefas agendadas.
Por exemplo, na página de exemplos Monit , você preferiria dar suporte a isso:
check directory httpd_core with path /var/crash/core if changed timestamp then exec "/bin/bash -c 'if [
/bin/cat /tmp/monit_httpd_core.tmp | head -1
!=/bin/ls /var/crash/core/core.httpd* | tail -1
]; then /usr/bin/gdb -x /etc/gdb.batch /usr/sbin/httpd/bin/ls /var/crash/core/core.httpd* | tail -1 | tee /tmp/monit_httpd_core.tmp
| mail -s httpd_crash [email protected] [email protected]; fi'"
ou isto:
check directory httpd_core with path /var/crash/core if changed
timestamp then exec script.sh
Onde script.sh
contém toda a fealdade.