Bereinigung Exchange LogFiles mit PowerShell
Volllaufende Dateisysteme sind der Traum jedes Admins. Wohl dem, der ein entsprechendes Monitoring auf eigenen oder Kundensystemen einsetzt und rechtzeitig gewarnt wird.
Nicht immer aber ist einem dieser Komfort so ohne weiteres gegeben und ohnehin ist proaktives Management solch trivialer Schwachpunkte einem reaktiven Warten auf einen roten Sensor vorzuziehen.
Irgendwie ist es ja keine Neuerung, in solchen Fällen überrascht es mich aber in frustrierender Weise jedesmal wieder, dass Microsoft auch in 2021 noch keinen vernünftigen Logrotate Mechanismus für viele seiner Produkte implementiert hat. So wie es in der Linuxwelt ja schon seit trölftausend Jahren selbstredend ist.
Dem den morgendlichen Kaffeestartup unterbrechenden, erschütterenden Kundenanruf „seit gestern kommen keine Mails mehr rein“ schafft meistens schon folgendes simples PowerShell Skript (ausgeführt als geplanter Task) Abhilfe:
$LogPaths = @('C:\Program Files\Microsoft\Exchange Server\V15\Logging','C:\inetpub\logs')
Get-ChildItem -Path $LogPaths -Recurse -Include '*.log' |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-3) } |
Remove-Item -Force |
Out-Null
Frank Zöchling, seines Zeichens einer der bedeutensten deutschen Blogger im Bereich Microsoft Exchange hat vor kurzem – in Kollaboration mit dem mir bis dato unbekannten Ali Tajran (man möge mir dies verzeihen) – das ganze ein Stück weitergetrieben und das ganze um einige andere LogDirs, Confirmations und ein klein bißchen Errorhandling erweitert.
Und weil ich’s mal wieder nicht sein lassen konnte, musste ich das ganze etwas aufräumen, besser lesbar machen (für mich) und ein paar unschöne Write-Hosts etc ersetzen:
https://github.com/ChristopherCHill/remove-exchangelogs
Und weil ich’s auch nicht lassen konnte habe ich das ganze auf Github hochgeladen, weil ich – trotz vergleichsweise recht oberflächlicher git-Kenntnisse – scheinbar keine Flatulenz ohne Versionskontrolle mehr von mir gebe.
Und wer der Ansicht ist, ich hätte den Spaghetticode ja auch gleich mal in ein paar Funktionen packen können hat sicher recht…vielleicht reiche ich das ja noch nach…
Links:
https://www.frankysweb.de/exchange-logfiles-mit-powershell-bereinigen/
https://www.alitajran.com/cleanup-logs-exchange-2013-2016-2019/
Filed under: Uncategorized - @ November 29, 2021 9:22 pm