Como uso o curl em um cron job?

11

Eu preciso configurar uma tarefa cron no cpanel que chame uma URL (no mesmo servidor) uma vez por semana. Eu ia usar o wget , mas isso fica desativado no servidor compartilhado que está sendo usado.

Existe uma alternativa para wget ? Ouvi dizer que o curl pode ser usado, mas não sei como configurá-lo em um comando cron.

Além disso, qual é o comando para fazer o cronjob não fazer nada no final?

Qualquer ideia muito apreciada!

    
por davidhyland 09.08.2011 / 18:15

3 respostas

17

em vez de usar o wget, o curl funciona assim:

curl --silent http://domain.com/cron.php

que funcionará da mesma maneira que wget. se é um arquivo php que você está lançando, existe alguma razão que você não pode executá-lo através do interpretador php da linha de comando da seguinte forma:

php -q /path/to/cron.php

mesmo em um pedido de servidor da Web e geralmente funciona muito mais rápido e sem certas restrições de tempo limite presentes quando chamado via servidor da web / curl

    
por 09.08.2011 / 18:29
5

Se o curl estiver disponível, você pode tentar algo como

1 1 * * 0  /usr/bin/curl --silent http://example.come/some.php &>/dev/null

Isso deve fazer com que o curl fique completamente silencioso, para que você não receba nenhum email após a conclusão.

    
por 09.08.2011 / 19:05
5

Sugiro adicionar o parâmetro "-m", além de --silent, pois esse parâmetro define o tempo máximo permitido para a transferência. Imagine que você chama o cron a cada minuto e o script leva 2 minutos - isso pode ter um impacto ruim na carga do servidor ou em outras coisas.

1 1 * * 0  /usr/bin/curl -m 120 -s http://example.come/some.php &>/dev/null
    
por 27.10.2015 / 16:07

Tags