WWW-Diff
(Version: 1.01)
WWW-Diff vergleicht ein lokales File mit einer WWW-Seite und holt
dann die WWW-Seite, wenn sie neuer ist als das File und kann
wahlweise eine Mail schicken, einen Exitcode setzen oder ein
Kommando ausführen.
WWW-Diff hat zwei Funktions-Varianten. In der ersten Variante
wird genau ein URL mit einem File verglichen und die durch URL
referenzierte Seite dann geholt, wenn der Inhalt neuer ist als
die im File gespeicherte Information, zum Beispiel:
wwwdiff -u http://www.leo.org/ -f LEO.html
Dabei beendet sich WWW-Diff mit denselben Exit-Codes wie der
normale UNIX-diff, nämlich 0, wenn kein Update stattgefunden hat,
1 bei einem Update und 2 bei einem Fehler. Das ermöglicht die
einfache Verwendung in Shell-Skripten.
In der zweiten Variante wird ein File eingelesen, das mehrere
URLs zeilenweise enthält. Dann wird jeder URL mit den eventuell
schon vorhandenen Files im angegebenen Verzeichnis verglichen und
ein Kommando ausgeführt, wenn sich die Seite geändert hat. Dabei
wird in dem Kommando-String das Symbol '{}' durch den aktuellen
URL ersetzt. Beispielsweise kann man mit dieser Zeile für jeden
geänderten URL ein neues Netscape-Fenster öffnen:
wwwdiff -p ~/w3/urls -d ~/w3 -c "netscape -remote 'openURL({},new-window)'&"
Da sich die Environment-Variablen für den Proxy nicht mit WGet
vertragen starte ich WWW-Diff mit dem kleinen Skript
mywwwdiff. Der WWW-Diff wird
hier zweimal gestartet. Einmal nur für Header-Vergleich und ein
zweites mal für ein paar URLs, die keinen Header liefern.
Voraussetzungen: keine
System: alle, aber nur unter Linux und AIX getestet