Qual é a melhor maneira de solucionar problemas de um cron que não dispara?

2

Continuando em uma pergunta Stackoverflow , eu tenho um .sh que tenta (1) executar um script que define o ambiente vars e, em seguida, (2) executa um script php.

A entrada crontab (tentou com e sem >> output):

 */1 * * * * /home/user/public_html/domain.com/private/ec2-api-tools/php/doQueue.sh >> /home/user/output.txt

O script, doQueue.sh (executando isso manualmente):

#/bin/sh
. ./environment.sh
php process_queue.php

O environment.sh (novamente funciona à mão):

#!/bin/sh
echo "running environment"
PATH=$EC2_HOME/bin:$PATH
EC2_HOME=/home/user/public_html/domain.com/private/ec2-api-tools
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/user/public_html/domain.com/private/ec2-api-tools/bin
MAIL=/var/mail/root
PWD=/home/user/public_html/domain.com/private/ec2-api-tools
JAVA_HOME=/usr/lib/jvm/java-6-sun/jre/
LANG=en_US.UTF-8
EC2_PRIVATE_KEY=/home/user/public_html/domain.com/private/ec2-api-tools/pk-hash.pem
EC2_CERT=/home/user/public_html/domain.com/private/ec2-api-tools/cert-hash.pem

Eu tentei variações usando sh e . sem sucesso. Qual é a melhor maneira de solucionar isso?

    
por editor 21.07.2010 / 05:07

3 respostas

0

Isso é em /var/spool/cron/crontabs/ ou /etc/cron.d/ (o último requer que o usuário execute o trabalho como)?

Você tentou colocar instruções de depuração no doQueue.sh para obter alguma saída para verificar se ela está sendo executada?

    
por 21.07.2010 / 09:43
1

Verifique se o arquivo crontab termina com uma nova linha

    
por 21.07.2010 / 09:33
0
#/bin/sh
. ./environment.sh

!

E qual é o CWD quando o script é executado? Tente especificar o caminho absoluto para environment.sh

Isso explicaria porque o cron job não funciona, mas não porque nunca dispara.

Por padrão, o cron envia ao usuário local a saída de tarefas e mensagens de erro - você verificou isso?

Tem certeza de que o trabalho existe no arquivo cron? (por exemplo, o que você vê quando digita 'crontab -l' no prompt).

HTH

C.

    
por 21.07.2010 / 12:04

Tags