Definindo a variável de ambiente "MAILTO" como ""
Algo como:
SHELL=/bin/bash
MAILTO=
01 * * * * /your/path/to/script/here.sh
Como posso impedir que o cron me envie por e-mail os resultados dos trabalhos que eu programo?
Se você quiser que um único trabalho pare de enviar e-mails, basta adicionar > / dev / null 2 > & 1 a ele
Por exemplo:
0 * * * * /home/script >/dev/null 2>&1
O Cron apenas envia um e-mail para você se houver saída, seja em stdout
ou stderr
.
Se o script que você escreveu for menos detalhado, remova as instruções desnecessárias echo
ou print
. 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á em stderr
, portanto, deverá ser um erro, o qual você deve resolver. Se não, você pode redirecionar stderr
para /dev/null
com ..
2 * * * * /my/script > /dev/null 2> /dev/null
.. embora desconsiderando mensagens de erro é geralmente uma má idéia! (Como você vai saber quando o cron job está quebrado?)
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
.. então direcione stdout
para /dev/null
em seu cron job - dessa forma você silencia o comando alto, sem perder as mensagens de erro
Tags unix