UBUNTU: por que meu crontab não está executando o código?

1

Configurei manualmente o /etc/crontab para adicionar um evento que seja executado no dia 9 todos os meses ...

O Cron está rodando, mas não rodou meu código ainda ... Meu código está na linha última :

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
23 9    9 * *   root    wget "http://www.mysite.com/url.api?dowhat=mensalcheck" --no-cache --read-timeout=1600 -O "/var/log/mysite.com/$(date "+url-api.%d-%m-%y.log")"
    
por CuSS 09.07.2010 / 12:18

2 respostas

3

Para garantir que seu cron seja executado, use " crontab -e " ou " sudo crontab -e " para editar seus cron jobs. Então, quando terminar de editar e salvar o arquivo, o crontab instalará o novo cronjob corretamente para ser executado na próxima vez.

Então, use sudo crontab -e e certifique-se de fazer pelo menos uma modificação no arquivo.

Também o cron geralmente tem nenhuma variável PATH , o que significa que sabe onde encontrar wget , então o melhor é colocar / usr / bin / wget .

    
por 09.07.2010 / 12:40
1

Seu problema é que cron vê os sinais de porcentagem como especiais. Converte-os em novas linhas. Você precisa escapar dos sinais de porcentagem para fazê-los funcionar normalmente.

23 9 9 * * root wget "http://www.mysite.com/url.api?dowhat=mensalcheck" --no-cache --read-timeout=1600 -O "/var/log/mysite.com/$(date "+url-api.\%d-\%m-\%y.log")"

Se você verificar seu arquivo de log ou o e-mail do root, verá mensagens de erro reclamando do problema.

    
por 09.07.2010 / 15:22