Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Filesystem-Watcher leicht gemacht

Geschrieben von: Herbert Hahn
Kategorie: Server

Dieser Artikel zeigt wie man mit Bordmitteln plus eines Freewaretools einen kleinen Service realisiert, der per E-Mail eine Verständigung schickt, wenn in einem bestimmten Verzeichnis (hier ein FTP-Verzeichnis) ein File landet.

Dazu verwende ich:

  1. Das Freewaretool Filenotify von xtware.com .
  2. Den Windows Scripting Host, kurz WSH, zum Versenden von Emails mittels des SMTP-Service von Windows.

Installation

Die Datei FileNotify.zip einfach in das gewünschte Verzeichnis entpacken. Danach ruft man einfach "FileNotify.exe -install" auf. Das installiert das Programm als Service und man kann es dann unter "Dienste" starten und stoppen.

Damit haben wir einen neuen Dienst der bestimmte Verzeichnisse überwacht.

Konfiguration

Im Verzeichnis von FileNotify befindet sich das Tool "fnAdmin.exe" das verwendet wird um den Dienst zu konfigurieren. Rufen wir nun fnAdmin auf. Als erstes werden wir gefragt, welche Konfigurations-Datei wir verwenden wollen.

Verwenden wir also einfach das als Vorschlag verwendete "FileNotify.txt". Danach erscheint folgendes Fenster:

Hier wird mit einem Klick auf Add ein neuer Überwachungsauftrag erstellt.

Es gibt 2 Optionen: wollen wir über Änderungen an Dateien oder Verzeichnissen informiert werden? Wir wählen "Files" aus.

Weiters müssen wir den Pfad angeben, der überwacht werden soll. Es besteht die Möglichkeit, auch alle Unterverzeichnisse zu überwachen (die darunterliegende Checkbox einfach selektieren).

Nun geben wir an, welche Ereignisse wir überwachen wollen. In unserem Beispiel wählen wir "Creation" aus. Insgesamt stehen 6 Ereignisse zur Auswahl. Danach wählen wir 1 Aktion pro Ereignis (Perform 1 Action(s) at the time)

Und nun folgt die Angabe des Programmes das wir ausführen wollen. In unserem Fall geben wir "cscript (LAUFWERK):\filenotify\mail.vbs %s" an. (Laufwerk = der Pfad ihres FileNotify Verzeichnisses).

Damit hätten wir soweit alles konfiguriert. Danach muß man unter Dienste noch den FileNotify Dienst neu starten. Damit ist die Überwachung fertig konfiguriert.

Das mail.vbs Script

Wir brauchen nun noch ein Script das uns ein Mail sendet.

Sub SendMailCDO(aTo, Subject, TextBody, aFrom)
  Const cdoIIS = 1
  Dim Message
  Set Message = CreateObject("CDO.Message")
  With Message
    .Configuration.Load cdoIIS
    .To = aTo
    .TextBody = TextBody
    .Subject = Subject
    If Len(aFrom) > 0 Then .From = aFrom
    .Send
  End With
End Sub


Set args = WScript.Arguments
if args.Count = 0 then
	liste = "Kein Argument"
else
	liste = ""
	for each argument in args
		cc=cc+1
		liste = liste & cc & " Neue Datei eingelangt auf Ihrem FTP-Space: " & argument & vbCrLf
	next
end if

SendMailCDO "herbert.hahn@softwing.com", "Neuer Content auf dem FTP Server", liste, "office@softwing.com"

Nun, was macht das Script? Zuerst die Funktion zum Versenden der Mail - in diesem Fall ist es sendMailCDO(). Der Funktion wird zuerst die Mailadresse danach der Betreff und der Mailtext, abschließend die Absenderadresse übergeben.

Nach der Funktion beginnt das eigentliche Hauptprogramm. In diesem werten wir die mitgegebenen Argumente aus (siehe Code), was dem Programm in der Konfiguration von FileNotify mittels %s mitgegeben wurde.

Zur Sicherheit habe ich das ganze in eine Schleife gepackt damit wir wirklich alle Argumente geliefert bekommen.

Danach rufen wir unsere Funktion mit den Angaben zur Adresse und Inhalt auf. Fertig.

Schlußbemerkung

Wir haben nun eine voll funktionsfähige Überwachung eines Verzeichnisses auf einem FTP-Server realisiert. Zum Testen einfach mittels Kopieren oder auch mittels FTP-Clientprogrammes eine Datei in dieses Verzeichnis kopieren. Wir sollten dann sofort eine Mail erhalten.

Das gezeigte Beispiel ist nur eine denkbare Variante. Was man mittels dieses Tools und weiteren Scripts anstellen kann, bleibt Ihrer Phantasie überlassen.

Verwandte Artikel

Automation - WSH versus Wget
IIS, was machst du gerade?
Siteüberwachung mit Scheduled Tasks

Links zu anderen Sites

Filenotify

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.