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