Cron - Não executa o comando a cada 10 minutos

1

Eu não entendo porque o cron não está realmente executando o comando a cada 10 minutos.

em crontab -e eu adicionei:

*/10 * * * * /var/www/myproject/recording/batch.pl

Eu podia ver no log do cron que está sendo executado a cada 10 minutos:

Mar 17 10:50:01 host crond[26335]: (root) CMD (/var/www/myproject/recording/batch.pl)
Mar 17 11:00:01 host crond[26357]: (root) CMD (/var/www/myproject/recording/batch.pl)
Mar 17 11:10:01 host crond[26418]: (root) CMD (/var/www/myproject/recording/batch.pl)
Mar 17 11:20:01 host crond[26657]: (root) CMD (/var/www/myproject/recording/batch.pl)

mas não está realmente executando o comando.

Quando executo esse comando manualmente no console do Linux, ele está funcionando bem.

    
por I'll-Be-Back 17.03.2013 / 12:29

3 respostas

2

que tal configurar o seu crontab como este

*/10 * * * * /usr/bin/perl /var/www/myproject/recording/batch.pl 2>&1 | tee -a /var/log/myproject-recording-batch.log

você pode alterar o arquivo de log /var/log/myproject-recording-batch.log para rastrear a execução

    
por 18.03.2013 / 08:04
2

O CRON não herda todas as variáveis do seu ambiente. Algum software deve ser chamado manualmente (ou seja, chamar ifconfig ou /sbin/ifconfig não é igual se você não tiver uma variável de ambiente $ PATH válida).

Verifique também se ele é executável e se o seu shebang está definido corretamente (caso contrário, você terá que prefixar seu comando com o interpretador).

    
por 17.03.2013 / 12:42
2

Como o CloudWeavers disse, é mais uma variável ambiental ausente, para verificar exatamente o que está faltando, você pode editar o cronjob para registrar todos os resultados / erros padrão em um arquivo de log, para que você possa analisá-lo isso:

*/10 * * * * /var/www/myproject/recording/batch.pl &> output.log
    
por 17.03.2013 / 13:00