Exchange schreibt mit der Zeit eine Menge Log-Files die den Festplattenspeicher auf kurz oder lang leider eng werden lässt. Man kommt also nicht daran herum die Log-Files, sprich Exchange- und IIS-Logs, zu bereinigen. Wir Ihr die Aufräumarbeiten erledigt wird Euch hier kurz erläutert.
In diesem Beispiel werden alle Dateien älter als 14 Tage von der Festplatte gelöscht. Aus Sicherheitsgründen ist hier der WhatIf-Schalter aktiv. Bitte führt das entsprechende Skript in einem PowerShell-Fenster mit Administrator-Rechten aus und schaut euch die Ergebnisse im Testlauf an. Nach dem Testlauf kann der WhatIf-Schalter auskommentiert bzw. gelöscht werden.
Für Exchange Server 2010 wird das folgende Skript verwendet:
1 2 3 4 5 6 |
#Exchange 2010: $path1 = "C:\Program Files\Microsoft\Exchange Server\V14\Logging" $path2 = "C:\inetpub\logs" Get-ChildItem $path1,$path2 -Include '*.log','*.blg' -Recurse | ?{$_.LastWriteTime -lt (Get-Date).AddDays(-14)} | remove-item -whatif |
Für Exchange Server 2013, 2016 und 2019 wird das folgende Skript verwendet:
1 2 3 4 5 6 |
#Exchange 2013/2016/2019: $path1 = "C:\Program Files\Microsoft\Exchange Server\V15\Logging" $path2 = "C:\inetpub\logs" Get-ChildItem $path1,$path2 -Include '*.log','*.blg' -Recurse | ?{$_.LastWriteTime -lt (Get-Date).AddDays(-14)} | remove-item -whatif |
Wer nur die IIS-LogFiles löschen möchte, kann dies mit diesem Skript durchführen:
1 2 3 4 5 |
#INETPUB $path = "C:\inetpub\logs" Get-ChildItem $path -Include '*.log' -Recurse | ?{$_.LastWriteTime -lt (Get-Date).AddDays(-14)} | remove-item -whatif |
Das entsprechende Skript kann abschließend in den Aufgabenplaner als Task eingerichtet werden:
1 2 |
powershell.exe -file \scripts\deleteLogFiles\deletelogfile.ps1 -noprofile -noninteractive |
Hallo Eddie,
danke für deine Anleitung, hat super funktioniert!
Auf dieser Seite hab ich auch noch was für IIS Logs gefunden,
ist anscheinend ein offizielles VB Script von Microsoft:
https://www.itnator.net/iis-logfiles-loeschen/
Gruß Bernhard
Hallo Bernhard,
das freut mich zu hören 😉
Es gibt natürlich viele Möglichkeiten die Logs zu löschen und via PowerShell ist es ja doch relativ entspannt umzusetzen.
Grüße aus Köln
Eddie