Eu tenho um trabalho cron para o qual quero registrar a saída. O arquivo cron ( crontab -e
) é:
0 7 * * * node $HOME/server/task.js >> $HOME/server/log.txt
A tarefa cron é chamada:
$ grep CRON /var/log/syslog
Nov 4 07:00:01 ip-... CRON[0000]: (bitnami) CMD (node $HOME/server/task.js >> $HOME/server/task.txt)
Nov 4 07:00:01 ip-... CRON[0000]: (CRON) info (No MTA installed, discarding output)
A linha com o erro significa que não tenho e- mail instalado , mas também não quero.
O arquivo de saída está vazio quando a primeira linha da tarefa NodeJS usa console.log()
.
Confirmo que o cron job não é executado.
Como posso depurar o que está errado, executar o cron e salvar o resultado em um arquivo?
Por padrão, a saída do cron job é enviada para o usuário com o qual você está executando o script, razão pela qual você não possui nenhum MTA instalado , pois não possui nenhum agente de correspondência instalado em seu sistema.
Seu script está realmente sendo executado como visto na primeira linha do syslog. O problema aqui está dentro da saída que não é redirecionada para a saída padrão.
Então tente editar seu cron job: