Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Ordner per Batch auf neue, nicht abgeholte Dateien überwachen

Tipp Microsoft Windows Server

Mitglied: kugelschreiber

kugelschreiber (Level 1) - Jetzt verbinden

23.08.2010, aktualisiert 14:47 Uhr, 17329 Aufrufe

Vielleicht hilft es ja dem einen oder anderen in einer anderen oder ähnlichen Situation

Hallo Ihr Lieben,

Folgendes Szenario:

Wir haben einen BizTalk Server 2006 auf Windows 2003 32bit, der per Windows Service einen Eingangsordner (Receive Folder) auf neue Dateien überwacht (vorläufig XML Dateien) und dann entgegen nimmt. Dabei verschiebt (also löscht) der BizTalk Server die Datei aus dem Eingangsordner zur weiteren Verarbeitung (Orchestrierung usw.).
Nun haben wir mehrfach festgestellt, dass dies manchmal länger als 2 Minuten dauert. Im Normalfall sollte die Datei nicht länger als 1-2 Sekunden im Eingangsordner verweilen, bevor der Server sie abgreift.

Das Problem

Wie bekomme ich nun mit, wann ein sogenannter "Hänger im System" vorherrscht?

Die Lösung

Dazu habe ich mir ein Batch gebaut, welche im Abstand von 1 Minute per Windows Tasksplaner aufgerufen wird und mir im Falle, dass eine Datei länger als 1 Minute im Eingangsordner liegt, eine Email mit dem Dateinamen im Betreff schickt. Ich verwende dabei eigentlich drei Batchdateien:

  1. eingangs_ordner_pruefen.bat
  2. dateien_kopieren.bat
  3. email.bat

Wobei die eingangs_ordner_pruefen.bat die anderen beiden per call in zwei beinhaltenden Schleifen aufruft.
Als Programm zum Verschicken einer Email verwende ich blat, welches Ihr Euch alternativ hier besorgen könnt. Eine klitzekleine Anleitung zu blat findet Ihr hier

Aber nun zu den einzelnen Batch-Dateien.

Die Hauptdatei eingangs_ordner_pruefen.bat

@ECHO OFF 
REM VARIABLEN 
set server=mail.domain.de 
set empfaenger=xxx@domain.de 
set sender=yyy@domain.de 
set projectpfad="C:\test" 
set ordner1="C:\test\ordner1" 
set ordner2="C:\test\ordner2" 
 
REM Prüfen, ob im ordner1 noch daten drin sind, die bereits schon in ordner1 drin sind (Dann hat BizTalk versagt -> Email an xxx@) 
CD %ordner2% 
FOR %%A IN ("*.*") DO ( 
	if exist %ordner1%\%%A call C:\test\email.bat "%%A" 
 
REM Prüfen, ob im ordner1 Dateien enthalten sind, die noch nicht im ordner2 enthalten sind (also neue Dateien -> kopieren in ordner2) 
CD %ordner1% 
FOR %%B IN ("*.*") DO ( 
	if not exist "%ordner2%"\"%%B" call C:\test\dateien_kopieren.bat "%%B" 
 
REM Prüfen, ob im ordner2 Dateien enthalten sind, die nicht mehr in ordner1 enthalten sind (BizTalk hat funktioniert -> also alte Dateien -> löschen in ordner2) 
CD %ordner2% 
FOR %%C IN ("*.*") DO ( 
	if not exist "%ordner1%"\"%%C" del "%ordner2%"\"%%C" 
)
Die Datei dateien_kopieren.bat

@echo off 
REM Kopiert alle Dateien von ordner1 in ordner2 
copy %ordner1%\%1 %ordner2%\%1
Die Datei email.bat

cd %projektordner% 
blat.exe c:\Test\body.txt -server %server% -to %empfaenger% -f %sender% -s %1
Projekt Testen

Zum Testen des Projektes führt bitte folgende Schritte durch

  1. Legt Euch einen Ordner namens "test" auf "C:\" an
  2. Erstellt im Ordner "C:\test" einen Ordner namens "ordner1" und einen weiteren Ordner namens "ordner2"
  3. Erstellt nun die Batchdateien wie oben beschrieben (Diese sollten dann auch unter "C:\test" liegen)
  4. Kopiert Euch die "blat.exe" von der oben angegebenen Webseite ebenfalls ins Verzeichnis "C:\test"
  5. Erstellt Euch eine Datei namens "body.txt" und schreibt einen beliebigen Inhalt hinein (Das ist dann Euer Inhalt in der Email)
  6. Passt die Hauptdatei eingangs_ordner_pruefen.bat an Eure Einstellungen an (Emailserver und Adressen)
  7. Gehe nun in den "ordner1" und erstelle dort eine beliebige Testdatei (zum Beispiel ein leeres Textdokument namens "test.txt")
  8. Doppelklicke nun auf die Hauptdatei eingangs_ordner_pruefen.bat unter "c:\test" (Deine Testdatei "test.txt" in "ordner1" sollte im Anschluss nun in "ordner2" kopiert worden sein)
  9. Doppelklicke wieder auf die Hauptdatei eingangs_ordner_pruefen.bat unter "c:\test" (Nun liegt die Datei immer noch in "ordner1" -> also wirst Du per Email benachrichtigt, das eine Datei (Dateiname steht im Betreff der Email) schon länger im "ordner1" liegt. (Der Biztalkserver hat Sie also noch nicht abgeholt)
  10. Lösche nun die Datei aus "ordner1" (Simulation als ob der Biztalkserver die Datei schon abgeholt hat)
  11. Doppelklicke wieder auf die Hauptdatei eingangs_ordner_pruefen.bat unter "c:\test" (Nun wird die Testdatei "test.txt" aus ordner2 gelöscht, da Sie sich nicht mehr im "ordner1" befindet (Der BizTalk Server hat sie also schon abgeholt)

NACHTRAG

Dies ist keine Lösung des Problems, aber wir haben rausgefunden wann es aufgetren ist und haben festgesetllt, dass andere Prozesse zu dieser Zeit eine enorm hohe Auslastung hatten und somit der BizTalk Service die Dateien nicht entgegennehmen konnte.

Wer das o.g. Beispiel als Dateien haben möchte, kann mir eine private Nachricht mit seiner Emailadresse schicken, ich bemühe mich die Daten so schnell wie möglich zu versenden.

Wahrscheinlich entgegen jeder Regel, bitte ich Euch mir Verbesserungen, Anregungen oder gar Kritik per privater Nachricht zu schicken, damit ich es in diesem Artikel ver/ausbessern kann. Ihr werdet namentlich erwähnt, wenn dies gewünscht ist.
Somit bekommt der interessierte Leser nur einen Artikel und muss sich am Ende nicht durch 20 Anpassungen/Beiträgen den gesamten Code selber zusammensuchen.

Vielen Dank für Euer Verständnis

Gruß Kuli

PS: Vielen Dank an Johannes Dobler, der mich dabei unterstützt hat
Ähnliche Inhalte
Microsoft
Verschieben von Dateien oder Ordnern verhindern
Tipp von HubertNMicrosoft6 Kommentare

Jeder Admin kennt das: Hilferuf, weil ein Ordner spurlos verschwunden ist. Praktisch immer, findest sich derselbe dann in einem ...

Off Topic
Arbeitgeber dürfen Mitarbeiterchats nicht einfach überwachen
Information von transoceanOff Topic6 Kommentare

Moin, das hat der Europäische Gerichtshof für Menschenrechte geurteilt. Hier das Original Dokument (englisch) vom Europäische Gerichtshof für Menschenrechte ...

Windows 10
Windows 10 - Mit Batch Datei Privacy Settings anpassen
Tipp von MarcoG88Windows 104 Kommentare

Hallo, ich habe eine Batch veröffentlicht mit der die WIndows 10 Enterprise Datenschutzeinstellungen einfach deaktiviert werden können. Die batch ...

Windows Server
Windows Server und Windows 7 Software RAID überwachen
Anleitung von hijacker99Windows Server1 Kommentar

Microsoft bietet von Haus aus leider keine Überwachung von Software-RAIDs, die mit der Datenträgerverwaltung erstellt wurden. Abhilfe schafft ein ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 53 MinutenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 1 StundeMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 8 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...