Eu corro um servidor Ubuntu 14.04. Gostaria de receber automaticamente alertas de email da Monit. Digitar /usr/bin/monitcron.sh
como root tudo funciona bem manualmente.
Eu tentei cron com o Rsync como um teste. Cron funciona muito bem. Mas assim que eu usá-lo para o Monit, ele não funciona mais, exceto quando eu o executo manualmente.
No meu script monitcron.sh, existe:
#!/bin/bash
service monit reload
EDIT: Eu tentei /etc/init.d/monit reload
. Mesma coisa. Isso funciona manualmente, mas não com o cron.
No meu crontab -e -u root
, tentei executar:
* * * * * /usr/bin/monitcron.sh
Mas sem sorte.
Alguma idéia ou motivo pelo qual o script funciona para o Rsync e não para o Monit? Thx.
EDIT: Meu /var/log/syslog
mostra:
Feb 20 21:42:01 www postfix/local[5289]: A7F742490E: to=<[email protected]>, orig_to=<root>, relay=local, delay=0.13, delays=0.09/0/0/0.03, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Feb 20 21:42:01 www postfix/qmgr[1151]: A7F742490E: removed
Feb 20 21:43:01 www CRON[6074]: (root) CMD (/usr/bin/monitcron.sh)
Feb 20 21:43:01 www postfix/pickup[6069]: B71782490E: uid=0 from=<root>
Feb 20 21:43:01 www postfix/cleanup[5111]: B71782490E: message-id=<[email protected]>
Feb 20 21:43:01 www postfix/qmgr[1151]: B71782490E: from=<[email protected]>, size=603, nrcpt=1 (queue active)
Feb 20 21:43:01 www postfix/local[5289]: B71782490E: to=<[email protected]>, orig_to=<root>, relay=local, delay=0.12, delays=0.05/0/0/0.07, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Feb 20 21:43:01 www postfix/qmgr[1151]: B71782490E: removed
Feb 20 21:44:01 www CRON[6085]: (root) CMD (/usr/bin/monitcron.sh)
Feb 20 21:44:01 www postfix/pickup[6069]: C79642490E: uid=0 from=<root>
Feb 20 21:44:01 www postfix/cleanup[5111]: C79642490E: message-id=<[email protected]>
Feb 20 21:44:01 www postfix/qmgr[1151]: C79642490E: from=<[email protected]>, size=603, nrcpt=1 (queue active)
Feb 20 21:44:01 www postfix/local[5289]: C79642490E: to=<[email protected]>, orig_to=<root>, relay=local, delay=0.13, delays=0.06/0/0/0.07, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Feb 20 21:44:01 www postfix/qmgr[1151]: C79642490E: removed
Feb 20 21:45:01 www CRON[6097]: (root) CMD (/usr/bin/monitcron.sh)
Feb 20 21:45:01 www postfix/pickup[6069]: D64EA2490E: uid=0 from=<root>
Feb 20 21:45:01 www postfix/cleanup[5111]: D64EA2490E: message-id=<[email protected]>
Feb 20 21:45:01 www postfix/qmgr[1151]: D64EA2490E: from=<[email protected]>, size=603, nrcpt=1 (queue active)
Feb 20 21:45:01 www postfix/local[5289]: D64EA2490E: to=<[email protected]>, orig_to=<root>, relay=local, delay=0.11, delays=0.04/0/0/0.07, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Feb 20 21:45:01 www postfix/qmgr[1151]: D64EA2490E: removed}
EDITAR: link Este vídeo me disse que, se eu quiser executar o 'service apache2 reload', meu script deve ser armazenado em / var / www /. Funciona. Anteriormente eu tinha tentado em / usr / bin / mas não funcionou. Agora que o script Apache2 está funcionando, a questão permanece: onde o script Monit ('service monit reload') deve ser executado / armazenado em seguida?
PROBLEMA CORRIGIDO: Eu tinha certeza de que esse era um problema de caminho. Eu adicionei o caminho no meu script como tal: #! / bin / bash CAMINHO = / sbin: / bin: / usr / sbin: / usr / bin reload de serviço monit
Encontrei a solução aqui: link
Obrigado a Ben Whaley por sua contribuição e sua equipe por estar ajudando.
Tags network-monitoring