Como executar um arquivo php com o crontab?

2

Eu tenho a configuração do Ubuntu com a lâmpada e eu queria saber o que eu digitaria para iniciar uma página do php às 2 da manhã todos os dias. Ainda estou estudando como o crontab funciona, então não posso testar para ver qual funciona.

Então, se eu tiver algo assim, como eu colocaria a página do php com parâmetros?

30 18 * * * http://myip/mypage.php?action=do_something

Eu entraria assim ou com um caminho absoluto? Assim

30 18 * * * /var/www/mypage.php?action=do_something
    
por Sarmen B. 11.04.2011 / 06:40

2 respostas

1

Você definitivamente quer usar o método um. Isso é

30 18 * * * wget -O - -q -t http://myip/mypage.php?action=do_something

Como isso fará com que o arquivo seja buscado com o wget (um programa de download de arquivos) através da rota usual da web. Isso significa que quando o apache manipula o pedido, ele fará com que o php interprete esse script e você executaria o script.

Tenho quase certeza de que também é possível executar isso usando o método 2, chamando o aplicativo php-cli e passando o caminho para o script como argumento, mas na maioria dos casos isso não faria nenhuma diferença real.

    
por 11.04.2011 / 06:51
0

O comando que você coloca no seu cron depende de como o arquivo php é realmente escrito. Se o arquivo for um script em um servidor da Web, o comando wget, conforme mencionado, funcionará bem. Observe que com o comando acima, -O significa que a saída será gravada no arquivo, -q é silenciosa, -t é para limitar o número de novas tentativas.

No entanto, se o script php for um script de shell, o wget será inútil. Nesse caso, o arquivo tem que ser executável e seu comando cron seria parecido com:

30 18 * * * /usr/bin/env php /path/to/script
    
por 11.04.2011 / 08:09