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 Jun 08, 2020 um 20:47:01 Uhr
Titel erstmal korrigiert

Content-Key: 577717

Url: https://administrator.de/contentid/577717

Printed on: April 24, 2024 at 18:04 o'clock

Member: tomolpi
tomolpi Jun 08, 2020 updated at 20:47:35 (UTC)
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).
Mitglied: 144260
144260 Jun 08, 2020, updated at Jun 09, 2020 at 11:37:13 (UTC)
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...........
}
Member: erikro
erikro Jun 09, 2020 at 07:03:07 (UTC)
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
Member: AntonDietrich
AntonDietrich Jun 09, 2020 at 07:18:11 (UTC)
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.
Mitglied: 144260
144260 Jun 09, 2020 at 11:36:18 (UTC)
Goto Top
s.o.
Member: AntonDietrich
AntonDietrich Jun 09, 2020 at 12:05:40 (UTC)
Goto Top
Wenn ich dies eingebe, erhalte ich folgende Fehlermeldung.
unbenannt
Mitglied: 144260
Solution 144260 Jun 09, 2020 updated at 12:31:58 (UTC)
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...........
}
Member: erikro
erikro Jun 09, 2020 at 13:09:46 (UTC)
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
Mitglied: 144260
144260 Jun 09, 2020 updated at 13:14:56 (UTC)
Goto Top
Da hat der doch tatsächlich eine Klammmer reingepfuscht hab ich gar nicht bemerkt face-smile, das gibt "Abzüg" face-smile.
Member: AntonDietrich
AntonDietrich Jun 09, 2020 at 13:15:59 (UTC)
Goto Top
Danke!

Das war durch das rumprobieren!

face-wink