A definição de [email protected]
in /etc/cron.daily/foo
não funciona. A saída do script não é enviada para [email protected].
A página no link também sugere uma solução simples:
O arquivo /etc/cron.daily/foo
agora contém o seguinte:
#!/bin/sh
/usr/bin/script 2>&1 | mailx -s "$0" [email protected]
Isso enviará um e-mail para '[email protected]' com o assunto que é igual ao caminho completo do script (por exemplo, /etc/cron.daily/foo
).
Veja o que o Unixgeeks.org diz sobre isso:
Output from cron
As I've said before, the output from cron gets mailed to the owner of the process, or the person specified in the MAILTO variable, but what if you don't want that? If you want to mail the output to someone else, you can just pipe the output to the command mail. e.g.
cmd | mail -s "Subject of mail" user
Às vezes, eu só quero receber os erros de um cronjob, não do stdout, então eu uso esse truque. A sintaxe pode parecer errada à primeira vista, mas tenha certeza de que funciona. O cronjob a seguir enviará STDOUT para / dev / null e manipulará STDERR por meio do pipeline.
doit 2>&1 >/dev/null | mailx -s "$0" [email protected]
Mesma coisa, mas envie para o syslog:
doit 2>&1 >/dev/null | /usr/bin/logger -t $ME
Veja também minha resposta no ServerFault para Cronjob stderr para arquivar e enviar e-mail