Primeiro, observe que cada trabalho cron é executado em um shell ( sh , ou seja, dash por padrão, alterável por meio da variável de ambiente SHELL dentro de crontab ). Dois casos:
-
MAILTOvariável de ambiente definida: Será enviada uma mensagem para o (s) endereço (s) mencionado (s) com o erro (STDERR) (e também STDOUT, se houver), como se você foi executado no shell (usado)
A variável de ambiente -
MAILTOé nula: Nada, a mensagem de erro será descartada como nenhum consumidor disponível
A variável de ambiente -
MAILTOnão está definida: O STDERR (e o STDOUT, se houver) serão enviados para a caixa de correio do usuário local
Em todos os casos, /var/log/syslog terá a mensagem de erro relevante.
Observe que as pessoas costumam usar redirecionamentos de shell para salvar o STDOUT / STDERR em um arquivo, por exemplo:
* * * * * your_command >/tmp/cron_msg 2>&1
Ou se MAILTO estiver definido, para não ter o STDOUT / STDERR no email, pois a intenção principal é executar o comando, se for, é uma tendência comum enviar para /dev/null também:
* * * * * your_command >/dev/null 2>&1