Logdatei-Uhrzeit auslesen und Mail an Admin
Hallo liebe Administratoren,
im Laufe meiner Tätigkeit in der IT im Krankenhaus habe ich schon oft auf dieses Forum zurückgegriffen und heute stelle ich selber eine Frage
Demnächst soll zur Überwachung der Server usw. Nagios eingesetzt werden, bis dahin werden allerdings noch einige Monate vergehen. Nun habe ich die Aufgabe bekommen, einen Ordner auf einem der Server zu überwachen: Das ist ein Schnittstellenserver zur LaborSoftware und dort landen etwa aller 20 Minuten LogDateien drin. Der Server macht in letzter Zeit oft Probleme, was wir dann oft zu spät bemerken (unterschiedliche Ursachen: Dienst läuft nicht, Verbindung unterbrochen, ...).
Es soll nun eine BatchDatei erstellt werden, die den Ordner überwacht und eine Mail an den Admin sendet, wenn die letzte LogDatei älter als 30 Minuten ist.
Wie kann man das am sinnvollsten umsetzen?
Zeitstempel vergleichen?
Ich habe nun schon viel gesucht, aber so richtig komme ich leider nicht vorwärts.
Meine Idee ist: aller 30 Minuten alle Dateien im Ordner durchsuchen - Datum/Zeit der jüngsten Datei auslesen und mit der jetzigen Uhrzeit vergleichen - entsprechende Mail/Net Send o.a. an Admin
Ich würde mich über Ideen und Vorschläge sehr freuen
Viele Grüsse
Susan
im Laufe meiner Tätigkeit in der IT im Krankenhaus habe ich schon oft auf dieses Forum zurückgegriffen und heute stelle ich selber eine Frage
Demnächst soll zur Überwachung der Server usw. Nagios eingesetzt werden, bis dahin werden allerdings noch einige Monate vergehen. Nun habe ich die Aufgabe bekommen, einen Ordner auf einem der Server zu überwachen: Das ist ein Schnittstellenserver zur LaborSoftware und dort landen etwa aller 20 Minuten LogDateien drin. Der Server macht in letzter Zeit oft Probleme, was wir dann oft zu spät bemerken (unterschiedliche Ursachen: Dienst läuft nicht, Verbindung unterbrochen, ...).
Es soll nun eine BatchDatei erstellt werden, die den Ordner überwacht und eine Mail an den Admin sendet, wenn die letzte LogDatei älter als 30 Minuten ist.
Wie kann man das am sinnvollsten umsetzen?
Zeitstempel vergleichen?
Ich habe nun schon viel gesucht, aber so richtig komme ich leider nicht vorwärts.
Meine Idee ist: aller 30 Minuten alle Dateien im Ordner durchsuchen - Datum/Zeit der jüngsten Datei auslesen und mit der jetzigen Uhrzeit vergleichen - entsprechende Mail/Net Send o.a. an Admin
Ich würde mich über Ideen und Vorschläge sehr freuen
Viele Grüsse
Susan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 247757
Url: https://administrator.de/forum/logdatei-uhrzeit-auslesen-und-mail-an-admin-247757.html
Ausgedruckt am: 24.04.2025 um 11:04 Uhr
1 Kommentar
Hallo Susan,
wenn Powershell nichts ausmacht:
Pfad in Zeile 1 und Mailserver-Daten in den Zeilen 3-7 anpassen)
Grüße Uwe
wenn Powershell nichts ausmacht:
Pfad in Zeile 1 und Mailserver-Daten in den Zeilen 3-7 anpassen)
$logs = dir '\\Server\Share\Ordner\*.log' | sort LastWriteTime -Descending | select -First 1 | ?{$_.LastWriteTime -lt (get-date).AddMinutes(-30)}
if($logs){
$smtpusername = 'USERNAME'
$smtppassword = 'PASSWORD'
$smtpfrom = 'absender@domain.local'
$smtpto = 'empfaenger@domain.local'
$smtpserver = "SMTPSERVER"
$smtpcred = new-Object pscredential($smtpusername,(Convertto-SecureString $smtppassword -AsPlainText -Force))
Try{
Send-MailMessage -To $smtpto -From $smtpfrom -Subject 'Die letzte Log-Datei ist älter als 30 Minuten' -Body "Bitte überprüfen ..." -SmtpServer $smtpserver -UseSsl -Credential $smtpcred -Encoding UTF8 -ErrorAction Stop
write-host 'Log-Files sind nicht aktuell, E-Mail an den Admin wurde verschickt' -ForegroundColor Yellow
}catch{
write-host $_
}
}else{
write-host "Alles i.O." -ForegroundColor Green
}