Como posso parar o cron de me enviar por e-mail os resultados dos trabalhos que eu agendar?
Como posso parar o cron de me enviar por e-mail os resultados dos trabalhos que eu agendar?
Respostas:
Se você deseja que um único trabalho interrompa o e-mail, basta anexar> / dev / null 2> & 1 a ele
Por exemplo:
0 * * * * /home/script >/dev/null 2>&1
Cron envia apenas e-mails se houver saída, ativada stdout
ou desativada stderr
.
Se você escreveu um script, torne-o menos detalhado - remova declarações echo
ou print
instruções desnecessárias . Redirecionar stdout
para /dev/null
também é uma solução válida:
2 * * * * /my/script > /dev/null
Se você ainda receber mensagens depois de fazer isso, a saída estará ativada stderr
; portanto, deve haver um erro que você deve resolver. Caso contrário, você pode redirecionar stderr
para /dev/null
com ..
2 * * * * /my/script > /dev/null 2> /dev/null
.. embora desconsiderar as mensagens de erro seja geralmente uma má ideia! (Como você saberá quando o trabalho cron é interrompido?)
Você pode redirecionar a saída de um comando específico de stderr para stdout usando 2>&1
- por exemplo:
command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout
..then dirigir stdout
a /dev/null
em seu trabalho cron - de que maneira você silenciar o brado, sem perder mensagens de erro