Sie sagen, Sie brauchen nur die Antwort "200 OK" in einem Kommentar.
Dies ermöglicht eine Lösung mit einigen zusätzlichen Vorteilen gegenüber denen von
wget -O /dev/null -o /dev/null example.com
. Die Idee ist, die Ausgabe nicht in irgendeiner Weise zu verwerfen, sondern überhaupt keine Ausgabe zu erstellen.
Da Sie nur die Antwort benötigen, müssen die Daten, die in die lokale Datei index.html heruntergeladen werden, nicht an erster Stelle heruntergeladen werden.
Im HTTP-Protokoll wird der Befehl 'GET' zum Herunterladen eines Dokuments verwendet . Um auf ein Dokument so zuzugreifen, dass alles außer dem eigentlichen Herunterladen des Dokuments möglich ist, gibt es einen speziellen Befehl 'HEAD'.
Wenn Sie für diese Aufgabe 'GET' verwenden, wird das Dokument heruntergeladen und lokal verworfen. Mit 'HEAD' können Sie genau das tun, was Sie brauchen. Das Dokument wird nicht an erster Stelle übertragen. Es wird immer derselbe Ergebniscode zurückgegeben wie per Definition 'GET'.
Die Syntax der Methode zu verwenden , HEAD
mit wget
ein wenig seltsam: Wir brauchen die Möglichkeit , zu verwenden --spider
. In diesem Zusammenhang macht es einfach, was wir wollen - greifen Sie auf die URL mit 'HEAD' anstelle von 'GET' zu.
Wir können die Option -q
(leise) verwenden, um wget
keine Details darüber auszugeben, was es tut.
Wenn Sie dies kombinieren, wget
wird weder etwas an stderr ausgegeben noch ein Dokument gespeichert.
wget -q --spider 'http://example.com/'
Der Exit-Code gibt an, ob die Anfrage erfolgreich war oder nicht:
$ wget -q --spider 'http://example.com/'
$ echo $?
0
$ wget -q --spider 'http://example.com/nonexisting'
$ echo $?
8
Für einen Befehl in bedeutet crontab
die Tatsache, dass in beiden Fällen keine Ausgabe erfolgt, dass Sie das Abrufen einer Ausgabe erneut als Hinweis auf Fehler verwenden können.
Ihr Beispielbefehl würde folgendermaßen geändert:
*/5 * * * * wget -q --spider mysite.com
Dies hat die gleichen Vorteile wie wget -O /dev/null -o /dev/null example.com
. Der zusätzliche Vorteil ist, dass die Protokollausgabe und die Dokumentausgabe nicht generiert werden, sondern lokal generiert und verworfen werden. Oder natürlich besteht der große Unterschied darin, das Dokument nicht herunterzuladen und dann zu verwerfen index.html
.
wget
von einem Terminal aus und der Anzeige eines Fortschrittsbalkens.