it-swarm.com.de

Verwenden von WGET zum Ausführen eines Cronjobs PHP

Ich habe versucht, alle 5 Minuten ein Cron zu erstellen und eine URL zu erstellen.

Ich habe versucht, WGET zu verwenden, aber ich möchte die Dateien nicht auf den Server herunterladen. Ich möchte sie nur ausführen.

Das habe ich benutzt (crontab):

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

Gibt es einen anderen Befehl als wget, um die URL auszuführen und nicht herunterzuladen?

43

Sie können wget anweisen, den Inhalt nicht auf verschiedene Arten herunterzuladen:

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

die wird nur eine HEAD Anfrage ausführen, aber wahrscheinlich tun, was Sie wollen

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

was die Ausgabe in/dev/null (ein schwarzes Loch) speichert

Vielleicht möchten Sie sich auch den Schalter -q von wget ansehen, um zu verhindern, dass er eine Ausgabe erzeugt

Ich denke, dass die beste Option wahrscheinlich wäre:

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

dies gilt nur, wenn Sie über eine spezielle Logik verfügen, die die HTTP-Methode überprüft, mit der die Seite angefordert wird

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

Dies bedeutet senden Sie die Datei an stdout und senden Sie stdout an/dev/null

14
Emil Vikström

Wenn Sie nur dann eine Ausgabe erhalten möchten, wenn PHP fehlschlägt:

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

Auf diese Weise erhalten Sie eine E-Mail von cronjob nur, wenn das Skript fehlschlägt und nicht, wenn das PHP aufgerufen wird.

2
angelrove

Ich habe folgendes Format ausprobiert und es funktioniert einwandfrei

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