Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Zeile nach Wortfund ausgeben - Jedoch immer vom aktuellsten Datum

Frage Entwicklung Batch & Shell

Mitglied: freaggle

freaggle (Level 1) - Jetzt verbinden

26.03.2012, aktualisiert 13:05 Uhr, 2108 Aufrufe, 9 Kommentare

Hallo zusammen,

Habe mit toller Hilfe hier aus dem Forum eine Batch zur Suche nach Schlagwörtern zusammengebastelt.
Das läuft auch.
Habe nun jedoch ein neues Problem.
Ich suche wieder in einer Datei nach einem Schlagwort.
Kommt das Wort vor, soll er mir einen Teil der Zeile ausgeben, in der das Wort vorkommt. Das würde ich glaube ich noch hinbekommen..
Kommt das Wort öfters vor, soll er mir jedoch nur die Zeile ausgeben, in welcher das aktuellste Datum mit Zeit steht...
Kann so etwas mit einer Batch überhaupt funktionieren?

Hier mal meine Versuche so far:

01.
@echo off 
02.
cd.. 
03.
cd.. 
04.
cd.. 
05.
cd Backup_Report 
06.
 
07.
call ANSI.bat 
08.
set "fail=0" 
09.
set "kritisch=0" 
10.
for /f "delims=" %%s in ('findstr /c:"[Major" c:\Backup_Report\BackupErrors.txt') do set /a fail+=1 
11.
for /f "delims=" %%s in ('findstr /c:"[Critical" c:\Backup_Report\BackupErrors.txt') do set /a kritisch+=1 
12.
 
13.
IF  %fail% GTR 0 ( 
14.
    echo Kritischer Fehler beim Backup. Bitte pruefen 
15.
    GOTO critical 
16.
17.
IF  %kritisch% GTR 0 ( 
18.
    echo Warnung beim Backup. Bitte pruefen 
19.
    GOTO warning 
20.
21.
 
22.
IF  %fail% == 0 ( 
23.
    echo Backup ok 
24.
    GOTO ok 
25.
26.
IF  %kritisch% == 0 ( 
27.
    echo Backup ok 
28.
    GOTO ok 
29.
30.
:ok  
31.
exit /b 0  
32.
:warning  
33.
exit /b 1  
34.
:critical  
35.
exit /b 2

Mit freundlichen Grüßen
Mitglied: 60730
26.03.2012 um 09:30 Uhr
Moin,

Bitte verzeih mir, aber batches, die nicht laufen und die ohne code tags, dafuer aber mit fuehrendem €cho off geschrieben werden.
Da macht langsam wirklich gar keinen spass mehr.

Gruss

Ps edit
/edit
Jupp
kommentar bearbeiten funktioniert.
Bitte warten ..
Mitglied: pieh-ejdsch
26.03.2012 um 09:37 Uhr
moin freaggle,

sehe ich das Richtig, dass Du eine Logdatei für mehrere Backupprozesse benutzt?
Dann muss Dir aber das Datum (letztes aktuellstes Datum) von diesem Backup bekannt sein, um die Zeile Herauszufiltern.
Wenn Du in den besagten Zeilen immer ein Datum mitstehen hast, dann Such nach dem Datum der letzten Änderung des Log.

01.
setlocal 
02.
set "Fail=" 
03.
set "critical=" 
04.
set "Log=c:\Backup_Report\BackupErrors.txt" 
05.
for /f %%i in ('dir "%LOG%" ^|findstr /b [0-9]') do set "LastLogDate=%%i"  
06.
for /f "delims=" %%i in ('find "%LastLogDate%" "%Log%" ^|find "[Critical" ') do set "Critical=1" &echo Warnung beim Backup. Bitte pruefen &echo %%i &exit /b 2 
07.
for /f "delims=" %%i in ('find "%LastLogDate%" "%Log%" ^|find "[Major" ') do set "Fail=1" &echo Warnung beim Backup. Bitte pruefen &echo %%i &exit /b 1 
08.
 
09.
exit /b 0
PS. Text/CodeFormatierung haben wir hier auch

Gruß Phil
Bitte warten ..
Mitglied: bastla
26.03.2012 um 10:49 Uhr
@PH
Die Anforderung "aktuellstes Datum" würde ich im Zweifelsfall einfach durch eine Sortierung vorweg realisieren - nach welcher Spalte dabei zu sortieren wäre, fällt aber offensichtlich unter "Geheimhaltung" (die der TE trotz Hinweis in seinem vorigen Thread weiterhin aufrecht erhält) ...

Grüße
bastla
Bitte warten ..
Mitglied: pieh-ejdsch
26.03.2012 um 11:20 Uhr
moin bastla,

naja, Datum Sortieren hätte dann aber nur Sinn, wenn das Format
YYYYMMDD
genommen wird. Bzw. kleinere Einheiten den größeren Folgen.
wenn in der Zeile nach DATUM a oder b oder Z folgt ist die Sortierung nach DD.MM.YYYY erfolglos bzw. nicht wie erwartet.

dir |sort +3
PS. wenn Zweifelsfall bedeutet das Backup ging über die Tagesgrenze?

Gruß Phil
Bitte warten ..
Mitglied: bastla
26.03.2012 um 11:53 Uhr
@PH
Zweifelsfall bedeutet das Backup ging über die Tagesgrenze?
Soll ja auch vorkommen - tatsächlich aber fehlen mir ganz grundsätzlich Informationen über den Aufbau der Datei ...

Grüße
bastla
Bitte warten ..
Mitglied: freaggle
26.03.2012 um 11:59 Uhr
Das @echo off habe ich hier aus dem Forum übernommen...


@bastla
Welche Infos benötigst du?

So sieht ein Teil der Log-Datei aus:

Major] From: VBDA@Server1" Q: [Quorum]" Time: 26.03.2012 00:24:49
[81:72] Q:
Cannot verify filesystem mount point: ([3] Das System kann den angegebenen Pfad nicht finden. ).

[Critical] From: VBDA@Server2 "Q: [Quorum]" Time: 26.03.2012 00:24:49
[81:52] /Q
Not a valid mount point => aborting.

Es wird ein Backup von den Servern durchgeführt und auftretende Fehler in dieser Datei sortiert nach Server und Datum + Uhrzeit aufgelistet.
Als Ausgabe auf Nagios benötige ich jedoch nur den letzten Fehler, sprich "Server XY, Datum, Uhrzeit
Die Fehlermeldung an sich ist erstmal nicht so wichtig.

@pieh-ejdsch
Danke dir. Das funktioniert schon mal wunderbar. Jetzt müßte ich neben dem Datum noch die Uhrzeit mit abfragen können
Bitte warten ..
Mitglied: pieh-ejdsch
26.03.2012 um 14:14 Uhr
wenn Die anderen Server egal sind, dann in etwa so

01.
setlocal 
02.
set "[Major]=" 
03.
set "[Critical]=" 
04.
set "Log=c:\Backup_Report\BackupErrors.txt" 
05.
for /f %%a in ('dir "%LOG%" ^|findstr /b [0-9]') do for /f "tokens=1,3,7,8" %%i in ('find "%%a" "%Log%" ^|findstr /L "[Critical] [Major]" ') do set "%%i=%%j,%%k,%%l" 
06.
 
07.
if defined [Critical] echo Warnung beim Backup. Bitte pruefen &echo %[Critical]% &exit /b 2 
08.
if defined [Major] echo Warnung beim Backup. Bitte pruefen &echo %[Major]% &exit /b 1 
09.
exit /b 0
Wenn wirklich nur die Letzte Meldung Massgebend sein sollte, eine Feste Variable abfragen.

Gruß Phil
Bitte warten ..
Mitglied: freaggle
26.03.2012 um 16:13 Uhr
Der Server wäre schon wichtig, damit man direkt sehen kann, um welche Maschine esich handelt.
Und bi dem obigen Beispiel spuckt er einfach die letzen Einträge von Major und Critical in der Datei aus.
Die Uhrzeit ist dabei irrelevant.Die wäre aber auch wichtig
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel Makro - Button "Springe zu Zeile mit heutigem Datum" (5)

Frage von hannsgmaulwurf zum Thema Microsoft Office ...

Windows 10
gelöst Windows 10 - Datum und Zeitfehler bei Update (3)

Frage von swisstom zum Thema Windows 10 ...

Windows Userverwaltung
gelöst Datum einer Gruppenmitgliedschaft (1)

Frage von slansky zum Thema Windows Userverwaltung ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...