Por que esse cron não funciona?

Por que esse cron não funciona?

Eu faço "crontab -e" e adiciono a seguinte linha:

0   9    *   *   *      /usr/bin/python /home/g1/g1/utils/statsEmail.py > /home/g1/log/statsemail.log

Mas não funciona! Por que? O script em si funciona. Além disso, o log está vazio.

Meu outro comando no crontab é este e funciona:

0   9    *   *   *      /usr/bin/python /home/g1/g1/sphinx/updateall.py > /home/g1/log/updateall.log

Responder1

você pode adicionar MAILTO=youremail ao crontab para obter detalhes da falha e corrigir isso.

EDIT: provavelmente seu cron não pode executar seu script porque não é permitido fazer isso

Responder2

Você está gravando STDOUT em um arquivo de log, mas também deve canalizar STDERR para o mesmo arquivo de log. No momento, você provavelmente não verá nenhuma mensagem de erro gerada por este script.

Seu script pode estar falhando devido a algo simples, como o usuário que executa o cronjob não ter permissão para executar o script. Além disso, lembre-se de que o cron executa comandos em um ambiente muito simples e pode ser muito diferente do ambiente shell interativo normal.

Mude seu script para este:

0   9    *   *   *      /usr/bin/python /home/g1/g1/sphinx/updateall.py > /home/g1/log/updateall.log 2>&1

O que updateall.log mostra agora?

Além disso, o cron geralmente registra algumas informações em um arquivo de log. O que /var/log/cron.log diz sobre o seu cronjob?

informação relacionada