A maioria dos daemons cron em plataformas com as quais trabalhei envia por e-mail automaticamente o stdout / stderr de tarefas cron do usuário para o usuário cujo crontab o trabalho veio. Eu esqueço o que acontece com todo o sistema (tarefas agendadas não específicas do usuário de / etc / crontab). A questão é que as pessoas nem sempre configuram um daemon mailer (ou seja, um Mail Transfer Agent (MTA) como sendmail, qmail ou postfix) na maioria dos SOs parecidos com Unix. Assim, os e-mails de saída da tarefa do cron simplesmente morrem em uma pasta de spool de correio local em algum lugar, se chegarem até mesmo . Assim, uma resposta pode ser apenas para iniciar seu daemon mailer, e talvez ter certeza de que você tem um arquivo ~ / .forward para encaminhar seu correio local para sua conta de e-mail "real".
Se você quiser que seus trabalhos sejam gravados em arquivos de log específicos, você pode usar o redirecionamento padrão como @honk sugerido ou, supondo que seu cron job seja um shell script, você pode ter seu logger de chamadas de script (1) ou syslog ( 1) ou qualquer outra ferramenta de linha de comando fornecida pelo sistema operacional para enviar mensagens arbitrárias para o syslog. Então você pode usar os métodos internos do sistema operacional para configurar quais tipos de mensagens são registrados onde, talvez editando o /etc/syslog.conf.
A maioria dos meus trabalhos cron invocam scripts bash que escrevi especificamente para o propósito de serem iniciados pelo cron por um motivo específico. Nesses, especialmente quando eu estou inicialmente escrevendo e depurando-os, eu gosto de usar o "set -vx" do bash para fazer com que a forma não expandida e expandida de cada linha do shell script seja gravada no stdout antes de ser executada. Observe que os scripts de shell iniciados no cron são considerados shells não-de-login e não-interativos, assim seus scripts de inicialização de shell padrão, como .bashrc e .profile, não são executados. Se você usar o bash e quiser o bash para executar um script de inicialização, você deve definir uma variável de ambiente "BASH_ENV = / path / to / my / startup / script" no seu crontab antes da linha onde você define o job.