Como executar um script php usando o cron?

1

Estou tentando executar um arquivo php via cron a cada 2 minutos, mas não está funcionando. Meu crontab é:

 */2 * * * * usr/bin/php /var/www/test/cron.php

O que estou fazendo de errado?

    
por Mahesh Gareja 29.04.2015 / 14:36

2 respostas

0

Verifique a saída de which php e use o caminho absoluto para php (no meu caso /usr/bin/php5 ).

*/2 * * * * /usr/bin/php /var/www/test/cron.php

ou apenas

*/2 * * * * php /var/www/test/cron.php

Para esclarecimentos , o padrão $PATH para cron é

PATH=/usr/bin:/bin

Você pode verificar o $PATH com uma entrada de teste ( Fonte ):

* * * * * env > /tmp/env.output

Assim, o arquivo

/tmp/env.output

é criado.

Você terá que remover a entrada * * * * * env > /tmp/env.output depois.

    
por A.B. 29.04.2015 / 14:56
2

Minha recomendação seria fazer uma chamada para o script usando o caminho da Web padrão, para que você não misture os usuários e as permissões, por exemplo, em vez de fazer:

/usr/bin/php <script>

em vez disso:

/usr/bin/wget -q http://localhost/test/cron.php

Em seguida, você precisa ter certeza de que o script pode ser chamado apenas do host local (por exemplo, usando a política de acesso do Apache2).

Desta forma, o cron script será sempre executado sob o mesmo usuário do site, o que é uma boa política.

    
por oerdnj 30.04.2015 / 11:36