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:
-
MAILTO
variá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 -
MAILTO
nã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