Freie DatenBank

WWW-Adressen auf Richtigkeit prüfen

Für die hier beschriebene Lösung wird ein Linux-Server benötigt, der einen Interverbindung besitzt und auf dem Perl (Version 5) installiert ist. Für die Installation des hier beschriebenen Skript muss man auf dem Linux-Rechner als Benutzer root einloggen können. (Die Installation des hier beschriebenen Perl-Skripts benötigt einige Erfahrung als Linux-Adminstrator!)

Installation von Perl-Modulen

Zum Testen der Richtigkeit von WWW-Adressen werden mehrere Perl-Module (z. B. Socket und LWP) benötigt, die zuerst auf dem Linux-Rechner installiert werden müssen. Da diese Module wieder andere Module benötigen, ist zur Vorbereitung einige Installationsarbeit notwendig. Die folgenden Module können hier in gepackter Form heruntergeladen werden. (Unter Windows werden beim Herunterladen die Punkte im Dateinamen durch das Unterstreichungszeichen ersetzt: URI-1_04_tar.gz. Die Dateien müssen vor dem Entpacken wieder händisch umbenannt werden.)

Perl-Module herunterladen: URI-1.04.tar.gz, MIME-Base64-2.11.tar.gz, HTML-Parser-2.23.tar.gz, libnet-1.0606.tar.gz, Digest-MD5-2.09.tar.gz und libwww-perl-5.44.tar.gz

 Die aktuellen Versionen dieser Module können von Adresse www.perl.com heruntergeladen werden.

Die gepackten Dateien werden mit dem Befehl

tar -xzf modulname.tar.gz

auf dem Linux-Rechner entpackt. Für jedes Modul wird dabei ein Verzeichnis mit dem Namen modulname angelegt.
Jedes Modul wird dann durch die Befehlsfolge

cd modulname
perl Makefile.PL
make
make test
make install

vom Benutzer root installiert. Fehlermeldungen beim Installieren weisen darauf hin, ob noch weitere Module installiert werden müssen. Einige Module benötigen für die Installation auch den C-Compiler gcc, der aber standardmäßig installiert sein sollte.

Perl-Skript für die Überprüfung der WWW-Adressen

Perl-Skript herunterladen: Datei SCHULEN_test.perl.tgz
gepackte Datei: SCHULEN_test.perl

Entpacken Sie diese Datei in einem Verzeichnis, auf das nur der Benutzer root Lese- und Schreibrechte hat.
Das Perl-Skript SCHULEN_test.perl überprüft eine vorgegebene Anzahl von WWW-Adressen, die in der Tabelle SCHULEN gespeichert sind. In dieser Tabelle wird dann das Feld TESTDATUM gleich den aktuellen Datum gesetzt. Das Feld TEST wird nach folgender Regel geändert:

 Wert von Feld TEST WWW-Adresse war ...
wird gleich 0 gesetzt richtig
wird um 1 erhöht, wenn der Wert von TEST kleiner als 20 ist falsch

Damit diese Skripts verwendet werden können, muss in MySQL-Datenbank mysql (Tabelle user) ein Benutzer FDBADMIN existieren. Sein Passwort muss in einer Textdatei mit dem Namen init.dat gespeichert sein. (Die Datei init.dat wird mit einem Editor angelegt und besteht nur aus einer einzigen Zeile mit dem Passwort. Die Datei init.dat muss im selben Verzeichnis wie die Datei SCHULEN_test.perl gespeichert werden.) Als Benutzer root kann mit dem Befehl

chmod 600 init.dat

das Lesen und Schreiben nur für den Benutzer root gestattet werden.

Folgende Werte können im Perl-Skript angepasst werden:

$testanzahl = 150;
$dateiname = "/var/log/FDB.SCHULEN.log";

$testanzahl ist die Anzahl der WWW-Adressen, die bei jedem Aufruf des Perl-Skripts geprüft wird.
$dateiname ist der Name der Logdatei, die vom Perl-Skript angelegt wird.

Automatische Ausführung des Perl-Skripts

Durch das Programm cron lässt sich das Perl-Skript regelmäßig z. B. in den Nachtstunden starten. Dazu editiert man als Benutzer root die Datei /etc/crontab und fügt folgende Zeile ein:

0 2 * * * root /pfad_zum_Skript/SCHULEN_test.perl

Dadurch wird täglich um 02.00 Uhr das Perl-Skript SCHULEN_test.perl mit den Rechten des Benutzers root gestartet.

FDB-Projekt Datenbanknetz SCHULEN Niederösterreichischer Bildungsserver

Letzte Änderung am 04. September 2001 E-Mail herwig.reidlinger@pinoe-hl.ac.at.