Como outros apontaram, cron
enviará por e-mail a saída de qualquer programa executado (se houver alguma saída). Então, se você não obtiver nenhuma saída, existem basicamente três possibilidades:
-
crond
não conseguiu nem iniciar um shell para executar o programa ou enviar email -
crond
teve problemas ao enviar a saída ou a correspondência foi perdida. - o programa não produziu nenhuma saída (incluindo mensagens de erro)
Caso 1. é muito improvável, mas algo deveria ter sido escrito nos logs do cron. O Cron tem um próprio recurso de syslog reservado, então você deve dar uma olhada em /etc/syslog.conf
(ou o arquivo equivalente em sua distro) para ver onde as mensagens do recurso cron
são enviadas. Destinos populares incluem /var/log/cron
, /var/log/messages
e /var/log/syslog
.
No caso 2., você deve inspecionar os logs do daemon do mailer: as mensagens do daemon Cron geralmente aparecem como de root@yourhost
. Você pode usar uma linha MAILTO=...
no arquivo crontab para que o cron envie um e-mail para um endereço específico, o que deve facilitar o grep dos logs do daemon do mailer. Por exemplo:
[email protected]
00 15 * * * echo "Just testing if crond sends email"
No caso 3., você pode testar se o programa foi realmente executado anexando outro comando cujo efeito você pode verificar facilmente: por exemplo,
00 15 * * * /a/command; touch /tmp/a_command_has_run
para que você possa verificar se crond
executou algo observando
o mtime de /tmp/a_command_has_run
.