Utiliser WGET pour exécuter un cronjob PHP

J’ai essayé de faire un cron et d’exécuter une URL tous les 5 minutes.

J’ai essayé d’utiliser WGET, mais je ne veux pas télécharger les fichiers sur le serveur, tout ce que je veux, c’est juste l’exécuter.

C’est ce que j’ai utilisé (crontab):

*/5 * * * * wget http://www.example.com/cronit.php 

Existe-t-il une autre commande à utiliser, à part wget, pour exécuter simplement l’URL et ne pas la télécharger?

Vous pourriez dire à wget de ne pas télécharger le contenu de deux manières différentes:

 wget --spider http://www.example.com/cronit.php 

qui effectuera simplement une requête HEAD mais fera probablement ce que vous voulez

 wget -O /dev/null http://www.example.com/cronit.php 

qui sauvera la sortie sur / dev / null (un trou noir)

Vous voudrez peut-être aussi regarder le commutateur -q de wget qui l’empêche de créer une sortie

Je pense que la meilleure option serait probablement:

 wget -q --spider http://www.example.com/cronit.php 

c’est à moins que vous ayez une logique spéciale qui vérifie la méthode HTTP utilisée pour demander la page

 wget -O- http://www.example.com/cronit.php >> /dev/null 

Cela signifie envoyer le fichier à stdout, et envoyer stdout à / dev / null

Si vous souhaitez obtenir une sortie uniquement en cas d’échec de php:

 php -r 'echo file_get_contents(http://www.example.com/cronit.php);' 

De cette façon, vous recevez un email de cronjob uniquement lorsque le script échoue et pas à chaque appel du php.

J’ai essayé le format suivant, fonctionne bien

 */5 * * * * wget --quiet -O /dev/null http://localhost/cron.php