Geschrieben von: Herbert Hahn
Kategorie: Server
This printed page brought to you by AlphaSierraPapa
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:
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.
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.
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.
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.
This printed page brought to you by AlphaSierraPapa
Automation - WSH versus Wget
http:/www.aspheute.com/artikel/20000511.htm
IIS, was machst du gerade?
http:/www.aspheute.com/artikel/20011204.htm
Siteüberwachung mit Scheduled Tasks
http:/www.aspheute.com/artikel/20010419.htm
Filenotify
http://www.xtware.com/filenotify/
©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.