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

DOS Batch Suchen nach bestimmten String in der Logdateien und ein paar Zusatzaufgaben ...

Frage Entwicklung Batch & Shell

Mitglied: tanbud

tanbud (Level 1) - Jetzt verbinden

28.11.2012 um 13:48 Uhr, 3491 Aufrufe, 2 Kommentare

Hallo,
ich möchte Euch allen zuerst herzlich begrüßen, bin ja ziemlich neu hier, besser gesagt habe mich vor ein paar Minuten erst registriert …

Nun aber zur Sache:
ich bin auf der Suche nach einem Dos Batch-Script, mit dem ich die Fehlersuche in den Logdateien automatisieren kann, dazu folgendes Szenario:

- Diese Script sollte in der tagesaktuellen LOG Dateien ( *.log ) in bestimmten Verzeichnisse ( z.B. C:\test\logs ) nach dem String “ ERROR “ suchen,

- Täglich werden meherere Log Dateien erstellt, daher muss dieses Script in der Lage sein, die schon durchsuchten LOG Dateien, ausser Acht zu lassen,

- Das Ergebnis sollte in einem anderen Verzeichnis ausser C:\test\logs also in einer neuen LOG Datei festgehalten werden, und zwar:
1. Falls keine “ ERROR “ Meldung gefunden : echo “ es sind keine Fehler vorhanden “
2. Falls “ ERROR “ Meldung vorhanden: echo “ ACHTUNG: Fehler in der [ Name der LOG Datei ] “ ausgeben und eine E-Mail mit Fehlerangabe an bestimmte Adresse schicken

- Das Script wird über “ geplante Tasks “ gesteuert und wird mehrmals am Tag ausgeführt.

Es wäre sehr nett wenn Ihr Eure Erfahrungen mit mir teilen könnt, insbesonderes möchte ich den Kollegen BASTLA bitten, sich diese Angelegenheit anzuschauen und mir ein Feedback zu geben.

Danke!

Viele Grüße
tanbud
28.11.2012
Mitglied: Friemler
28.11.2012 um 18:37 Uhr
Hallo tanbud,

mein Vorschlag zur Lösung Deines Problems:
01.
@echo off & setlocal 
02.
 
03.
 
04.
set "LogDirs="E:\Test 1" "E:\Test 2"" 
05.
set "MasterLogDir=E:\MasterLog" 
06.
set "ProtocolFile=E:\Protokoll\%Date%.log" 
07.
set "LogFileType=log" 
08.
set "SearchStr=ERROR" 
09.
 
10.
set "TimeStamp=%Date%_%Time::=-%" 
11.
set "TimeStamp=%TimeStamp:~0,19%" 
12.
set "MasterLogFile=%MasterLogDir%\%TimeStamp%.log" 
13.
set "ErrorFound=" 
14.
 
15.
 
16.
if not exist "%ProtocolFile%" ( 
17.
  type NUL > "%ProtocolFile%" 
18.
19.
 
20.
for %%d in (%LogDirs%) do ( 
21.
  for /f "tokens=1,2 delims=:" %%f in ('findstr /i /c:"%SearchStr%" "%%~d\*.%LogFileType%"') do ( 
22.
    find /i "%%f:%%g" "%ProtocolFile%" 1>NUL 2>NUL || ( 
23.
      >>"%ProtocolFile%" echo %%f:%%g 
24.
      >>"%MasterLogFile%" echo ACHTUNG: Fehler in Logfile "%%f:%%g" 
25.
      set "ErrorFound=1" 
26.
27.
28.
29.
 
30.
if not defined ErrorFound ( 
31.
  >"%MasterLogFile%" echo Es sind keine Fehler vorhanden. 
32.
) else ( 
33.
  rem Stattdessen hier einen Aufruf von BLAT zum Versenden der EMAIL 
34.
  echo Datei %MasterLogFile% per EMail verschicken 
35.
)
Zu den Variablen in den Zeilen 4 bis 12:
  • LogDirs (Zeile 4): Enthält die Pfade aller Verzeichnisse, die auf Logfiles untersucht werden sollen. Pfade, die Leerzeichen enthalten, müssen so wie im Beispiel oben in Anführungszeichen eingeschlossen werden.
  • MasterLogDir (Zeile 5): Enthält den Pfad zu dem Verzeichnis, in dem bei jedem Aufruf des Scripts eine Datei erstellt wird, die das Ergebnis der aktuellen Suche nach dem Suchbegriff enthält.
  • ProtocolFile (Zeile 6): Enthält den Pfad zu der Datei, in dem sich das Script die am aktuellen Datum bereits untersuchten Logfiles merkt, deshalb besteht der Name dieser Datei aus dem aktuellen Datum.
  • LogFileType (Zeile 7): Hier kann man den Typ der Dateien angeben, die untersucht werden sollen. Durch die Angabe von log wird nach Dateien gesucht, auf die die Maske *.log zutrifft.
  • SearchStr (Zeile 8): Hier kann man den Suchbegriff angeben.
  • MasterLogFile (Zeile 12): Enthält den Pfad zu der Datei, die das Ergebnis der aktuellen Suche nach dem Suchbegriff aufnimmt (also die Pfade zu den Logfiles, die den Suchbegriff enthalten, oder die Meldung, dass keine Fehler gefunden wurden). Bei jedem Scriptlauf wird eine neue Datei angelegt, deren Name in den Zeilen 10 und 11 aus dem aktuellen Datum und der aktuellen Uhrzeit zusammengesetzt wird.

Den Code zum Versenden der Datei, deren Pfad in %MasterLogFile% steht, mit dem Konsolenmailer BLAT überlasse ich Dir, das sollte durch Lesen der Hilfe von BLAT leicht zu lösen sein.

Alte Protokolldateien (für jeden Tag entsteht eine) und alte Masterlogfiles (für jeden Scriptlauf entsteht eines) könntest Du mit dem Konsolentool DELAGE löschen. Der Code dafür ist ebenfalls sehr leicht durch Lesen der Hilfe von DELAGE zu erstellen.

Gruß
Friemler
Bitte warten ..
Mitglied: 108399
28.11.2012 um 23:12 Uhr
Hallo Zusammen

Friemler: Guter Arbeit, werde dein Script mal zwischenspeichern .

Tanbud: Falls du genügend Zeit hast, kannst du ja mal PowerShell anschauen, ist ab Vista fix drinn und kann wirklich einiges mehr als Batch. Die Aufgabe wäre darin mit einem kurzen Aufwand lösbar und könnte beliebig erweitert werden. Mit der Zeit macht es auch richtig Spass .

Gruss
Raphael S.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Mit Batch ein bestimmtes Bild suchen
Frage von InvisibleQuantumBatch & Shell4 Kommentare

Hay, ich hoffe ihr könnt mir weiterhelfen Folgendes: Ich habe mehrere Ordner in denen verschiedene Dateien liegen, meistens .png ...

Batch & Shell
Batch zum suchen bestimmter Dateien
gelöst Frage von FurycanBatch & Shell2 Kommentare

Hallo zusammen, ich hoffe man kann mir hier helfen. Ich Suche ein Script das mir folgendes macht: In einem ...

Batch & Shell
Powershell In Textdatei Nach bestimmter Zeichenfolgen in String suchen und diese Strings dann löschen
gelöst Frage von PinkFLuffyUnicornBatch & Shell5 Kommentare

Hi, ich habe folgendes Vorhaben: Ich muss die Logdateien von dem Minecraftserver eines Freundes Nach bestimmten Zeichenfolgen in den ...

Batch & Shell
Batch nach bestimmten Ordner suchen und diese zippen
gelöst Frage von windelterroristBatch & Shell3 Kommentare

Hallo! Ich stehe mit Batch gerade etwas an Bitte um Verständnis, wenn ich das ein oder andere falsch formuliere, ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 2 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 8 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 8 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 20 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...