Crontab: Não está executando corretamente

3

(o SO é o FreeBSD 8.1)

Ontem adicionei 2 linhas ao crontab como root:

0 7 * * * curl --silent http://username:[email protected]/cron/execute/process/verbose/true >>/home/www/dev_mydomain_tld/logs/cron_process.log 2>&1
0 8 * * * curl --silent http://username:[email protected]/cron/execute/process/verbose/true >>/home/www/dev_mydomain_tld/logs/cron_process.log 2>&1

Fazer o comando direto do shell como root funciona bem. Basta fazer algumas coisas e enviar alguns e-mails. A segunda execução não deve enviar nenhum email, isso é tratado pelo script. Assim, a segunda linha é apenas para o meu prazer de testar, certificando-se de que uma segunda corrida não envie os mesmos e-mails.

Esta manhã eu esperei pelos e-mails, às 7h e às 8h - mas nãooo.

O cron log tem o seguinte para me dizer

Feb  8 07:00:00 webserver /usr/sbin/cron[50878]: (root) CMD (   /usr/local/bin/bsdsar_gather)
Feb  8 07:00:00 webserver /usr/sbin/cron[50881]: (root) CMD (newsyslog)
Feb  8 07:00:00 webserver /usr/sbin/cron[50882]: (root) CMD (/usr/libexec/atrun)
Feb  8 07:00:00 webserver /usr/sbin/cron[50883]: (operator) CMD (/usr/libexec/save-entropy)
Feb  8 07:00:00 webserver /usr/sbin/cron[50886]: (root) CMD (curl --silent http://username:[email protected]/cron/execute/process/verbose/true >>/home/www/dev_mydomain_tld/logs/cron_process.log 2>&1)

[...]

Feb  8 08:00:00 webserver /usr/sbin/cron[51147]: (root) CMD (   /usr/local/bin/bsdsar_gather)
Feb  8 08:00:00 webserver /usr/sbin/cron[51149]: (root) CMD (newsyslog)
Feb  8 08:00:00 webserver /usr/sbin/cron[51150]: (operator) CMD (/usr/libexec/save-entropy)
Feb  8 08:00:00 webserver /usr/sbin/cron[51151]: (root) CMD (/usr/libexec/atrun)
Feb  8 08:00:00 webserver /usr/sbin/cron[51152]: (root) CMD (curl --silent http://username:[email protected]/cron/execute/process/verbose/true >>/home/www/dev_mydomain_tld/logs/cron_process.log 2>&1)

Além disso, /home/www/dev_mydomain_tld/logs/cron_process.log não exibiu alterações, nem alteração na data. A execução a partir do shell atualiza muito bem.

    
por Phliplip 08.02.2011 / 09:25

2 respostas

6

A curva está no caminho definido pelo cron? Você deve definir seu PATH em um script ou usar o caminho completo para curl (ou seja, / usr / local / bin / curl ou similar).

Dê uma olhada no crontab (5) para obter detalhes sobre o meio ambiente variáveis.

    
por 08.02.2011 / 09:53
0

O crontab principal do sistema ao qual o root tem acesso (/ etc / crontab) deve ter o nome do usuário como a sexta coluna. (Arquivos crontab de usuários normais não)

    
por 08.02.2011 / 14:39

Tags