
Eu tenho o Ubuntu configurado com lamp e queria saber o que eu digitaria para iniciar uma página php às 2 da manhã todos os dias. Ainda estou estudando como funciona o crontab, então não posso testar para ver qual funciona.
Então se eu tiver algo assim como colocaria na página php com parâmetros?
30 18 * * * http://myip/mypage.php?action=do_something
Eu entraria assim ou com caminho absoluto? Assim
30 18 * * * /var/www/mypage.php?action=do_something
Responder1
Você definitivamente deseja usar o método um. Aquilo é
30 18 * * * wget -O - -q -t http://myip/mypage.php?action=do_something
Isso fará com que o arquivo seja obtido com o wget (um programa de download de arquivos) através da rota usual da web. Isso significa que quando o apache tratar a solicitação, fará com que o php interprete esse script e você terá executado 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 seu script como argumento, mas na maioria dos casos isso não faria nenhuma diferença real.
Responder2
O comando que você coloca no seu cron depende de como o arquivo php foi realmente escrito. Se o arquivo for um script em um servidor web, o wget conforme mencionado funcionará bem. Observe que com o comando acima -O significa que a saída será gravada no arquivo, -q é silencioso, -t é para limitar o número de novas tentativas.
No entanto, se o script php for um script shell, o wget será inútil. Nesse caso, o arquivo deve ser executável e seu comando cron ficaria assim:
30 18 * * * /usr/bin/env php /path/to/script