@Bastianoso

HTTP-Statuscodes vieler URLs überprüfen

Mit einem einfachen Bash-Script lässt sich der zurückgelieferte HTTP-Statuscode vieler URLs im Handumdrehen überprüfen und in ein Logfile schreiben. Insbesondere beim Relaunch einer bestehenden Webseite lassen sich die eingerichteten Redirects so sehr schnell überprüfen.

Als ich kürzlich meine Fotowebseite einem Redesign unterzogen habe, haben sich in diesem Zuge auch viele der bestehenden URLs geändert. Um den Besuchenden der Webseite jetzt nicht vermehrt die 404er-Seite unter die Nase zu halten, habe ich für jede alte URL ein Redirect auf die neue Adresse eingerichtet.
Um sicherzugehen, dass dabei keine der alten Adressen unter den Tisch gefallen ist, suchte ich eine Möglichkeit, eine Liste von URLs (in diesem Fall die alten URLs) automatisch nach dem zurückgelieferten HTTP-Statuscode abzugrasen.
Theoretisch sollte für jede alte URL ein 301er Redirect zurückgeliefert werden.

So funktioniert das Script

Das Bash-Script liest eine vorher angelegte Liste von URLs ein und geht diese Zeilenweise durch. Dabei wird eine einfach Anfrage an diese URL gestellt und der zurückgelieferte Statuscode auf dem Bildschirm ausgegeben (beispielweise Status 200 für okay oder Status 404 für nicht gefundene Seiten).
Ist das Script einmal durchgelaufen, wird alles in ein Logfile geschrieben, damit man die Ergebnisse später in Ruhe auswerten kann.

Systemanforderungen

Lauffähig ist das Script auf allen Systemen, denen eine Bash zur Verfügung steht (in der Regel, UNIX, LINUX, Mac OS X) und natürlich braucht man einen Internetanschluss.

Umfang

Zum Script gehören drei Dateien, von denen zwei im folgenden Zip enthalten sind:

  • URLChecker.sh: das eigentliche Script
  • urls.txt: die Liste der zu prüfenden URLs
  • url-status.log: das Logfile, welches nach der Prüfung aller URLs angelegt wird (daher auch nicht im Zip enthalten)

Installationshinweise

  1. lade Dir die Zip-Datei herunter
  2. entpacke die Datei in ein beliebiges Verzeichnis
  3. pflege Deine zu prüfenden URLs in die Datei urls.txt ein (pro Zeile eine voll qualifizierte URL)
  4. öffne Deine Shell und navigiere in das Verzeichnis, in dem das Script liegt
  5. starte das Script mit dem Befehl „bash URLChecker.sh
  6. warte, bis alle URLs geprüft wurden und schaue Dir das Logfile an (liegt im gleichen Ordner wie das Script ab)

Der Quelltext

Randnotizen

Das Script basiert auf einer Idee von Ramakanta und wurde von mir für den benötigten Zweck etwas angepasst.
Es wäre auch denkbar, das Script noch um eine Abfrage des gewünschten Statuscodes zu erweitern, sodass im Logfile nur die Statuscodes landen, die diesem nicht entsprechen.

In meinem Fall könnte man den Statuscode 301 exkludieren und nur URLs auflisten, die einen anderen Status zurückliefen (bspw. 404). Für meine Zwecke hat das Script aber so sehr schön seinen Dienst getan.

Wer das Script erweitern möchte, kann sich gerne im GIT bedienen.

Hinterlasse einen Kommentar

  Abonnieren  
Benachrichtige mich bei
Projektmanagement Abschlussprüfung iOS E-Mail Inventur Datenschutz iPhone Facebook Bilanz Videos Kredite Mathematik Silvester Microsoft Windows Film Haushalt Apple Redirect Fernsehen Laufen twitter Sicherheit Tipps & Tricks BarCamp IKEA Sommer Musik Wirtschaft Organisation URL Netzwerk Netzwerktechnik Webserver IST-Analyse Buchhaltung Sibirische Katze Datenübertragung Kater Deutschland Kino Fahrrad Computer Party Werbung Fotos Gesellschaft Hamburg Weiterleitung Ernährung Weihnachten Mac OS X C++ Ausbildung Einkaufen Datenbanken Programmieren Internet OS X web 2.0 projekt52 Sport Terminal Altona Konzert

Hinweise zum Artikel

Heiß diskutiert