antondietrich
Goto Top

Powershell Logfile Überprüfung

Liebe Community,

ich bin neu hier und habe eine Frage zur PowerShell.

In unserem Betrieb läuft ein Windows Server, der ein tägliches Backup mit logfile macht.

PowerShell soll das ganze überprüfen und wenn in der letzten Zeile nicht steht "Export ohne Warnungen beendet" eine EMail senden.

Das versenden der Mail über PowerShell klappt.

Leider finde ich aber keinen passenden Befehl zur Überprüfung der logfile.
Kommentar vom Moderator tomolpi am 08.06.2020 um 22:47:01 Uhr
Titel erstmal korrigiert

Content-ID: 577717

Url: https://administrator.de/forum/powershell-logfile-ueberpruefung-577717.html

Ausgedruckt am: 22.04.2025 um 03:04 Uhr

tomolpi
tomolpi 08.06.2020 aktualisiert um 22:47:35 Uhr
Goto Top
Hallo @AntonDietrich,

und wo ist die Frage? Ein Fragezeichen sehe ich nicht.
Bitte lies erstmal hier: Wie Du eine Frage richtig stellst.
Bitte überarbeite doch Deine Frage.
Dann als ersten Ansatz:
  • Lese die Textdatei ein
  • Hole die letzte Zeile
  • Vergleiche die letzte Zeile mit der gewünschten Meldung
  • Sende eine Mail, falls der Vergleich negativ ausfällt

Zu allen Punkten wirst Du mit Google fündig.

Viele Grüße

tomolpi
Moderator

PS: auch Verabschiedungen sind hier gern gesehen (gelesen).
144260
144260 08.06.2020, aktualisiert am 09.06.2020 um 13:37:13 Uhr
Goto Top
Unter Berücksichtigung das es eventuell eine Leerzeile am Ende geben könnte
$file = 'd:\backup.log'  
if (!((Get-Content $file -tail 2) -like '*Export ohne Warnungen beendet*')){  
   send-mailmessage ...........natürlich mit deinen Parametern...........
}
erikro
erikro 09.06.2020 um 09:03:07 Uhr
Goto Top
Moin,

Zitat von @AntonDietrich:
In unserem Betrieb läuft ein Windows Server, der ein tägliches Backup mit logfile macht.

Aha. Und wie wird das Backup gemacht? Welche Software? Wie heißt das logfile und welches Format hat es? Windows-Ereignisanzeige? XML? Reiner Text? Irgendetwas anderes?

PowerShell soll das ganze überprüfen und wenn in der letzten Zeile nicht steht "Export ohne Warnungen beendet" eine EMail senden.

Die Backupsoftware bietet da keine Möglichkeit?

Das versenden der Mail über PowerShell klappt.

Das ist ja auch nicht weiter schwer. face-wink

Leider finde ich aber keinen passenden Befehl zur Überprüfung der logfile.

Tja, wenn man wüsste, was das für ein Logfile ist ...

Liebe Grüße

Erik
AntonDietrich
AntonDietrich 09.06.2020 um 09:18:11 Uhr
Goto Top
Moin,

es handelt sich nicht richtig um eine Backup Software sondern um ein Oracle dump.

Das logfile heißt backup mit der Dateiendung .log.
144260
144260 09.06.2020 um 13:36:18 Uhr
Goto Top
s.o.
AntonDietrich
AntonDietrich 09.06.2020 um 14:05:40 Uhr
Goto Top
Wenn ich dies eingebe, erhalte ich folgende Fehlermeldung.
unbenannt
144260
Lösung 144260 09.06.2020 aktualisiert um 14:31:58 Uhr
Goto Top
Wenn ich dies eingebe, erhalte ich folgende Fehlermeldung.
Deine Powershell ist veraltet , die kennt den -tail Parameter noch nicht face-smile. Du kannst das aber auch ohne den Parameter -tail schreiben
$file = 'd:\backup.log'  
if (!((Get-Content $file)[-2..-1] -like '*Export ohne Warnungen beendet*')){  
   send-mailmessage ...........natürlich mit deinen Parametern...........
}
erikro
erikro 09.06.2020 um 15:09:46 Uhr
Goto Top
Moin,

Zitat von @144260:

Wenn ich dies eingebe, erhalte ich folgende Fehlermeldung.
Deine Powershell ist veraltet , die kennt den -tail Parameter noch nicht face-smile. Du kannst das aber auch ohne den Parameter -tail schreiben

Nee, keine Powershell kennt
[-tail

Das muss

-tail

heißen. face-wink

Liebe Grüße

Erik
144260
144260 09.06.2020 aktualisiert um 15:14:56 Uhr
Goto Top
Da hat der doch tatsächlich eine Klammmer reingepfuscht hab ich gar nicht bemerkt face-smile, das gibt "Abzüg" face-smile.
AntonDietrich
AntonDietrich 09.06.2020 um 15:15:59 Uhr
Goto Top
Danke!

Das war durch das rumprobieren!

face-wink