Interrompe o cron de me enviar um email

10

Como posso impedir que o cron me envie por e-mail os resultados dos trabalhos que eu programo?

    
por Richard Hoskins 18.07.2009 / 04:07

3 respostas

15

Definindo a variável de ambiente "MAILTO" como ""

Algo como:

SHELL=/bin/bash
MAILTO=



01 * * * *  /your/path/to/script/here.sh
    
por 18.07.2009 / 04:15
12

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
    
por 18.07.2009 / 04:23
4

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

    
por 18.07.2009 / 08:07

Tags