Log-Rotation ist in Unternehmensumgebungen unverzichtbar. Protokolldateien wachsen mit der Zeit zwangsläufig an, während der Speicherplatz begrenzt bleibt. Ohne zentrale Kontrolle sammeln sich schnell zu viele Dateien an und für andere Daten bleibt kein Platz mehr. Automatisieren Sie den Prozess, werden Ihre Protokolldateien in regelmäßigen Abständen archiviert oder gelöscht, oder sobald die Festplattenauslastung einen bestimmten Schwellenwert überschreitet.
Anleitung: Log-Rotation und Speicherplatz-Berichte automatisieren
Die Log-Rotation lässt sich mit Windows PowerShell automatisieren. Mit PowerShell können Sie auch Berichte zur Festplattenauslastung erfassen. Für die Aufgabenplanung nutzen Sie die Eingabeaufforderung, um ein PowerShell-Skript in festgelegten Intervallen auszuführen. Für komplexere Szenarien, etwa das Festlegen von Schwellenwerten für die Festplattenauslastung, eignet sich ein RMM-Tool.
📌 Voraussetzungen:
- PowerShell 5.1 oder höher wird benötigt.
- Sie benötigen vollständige Administratorrechte.
- Sie benötigen Zugriff auf die Registry, um Richtlinien- und Anwendungseinstellungen nachzuverfolgen.
- Sie müssen Aufgaben lokal planen oder über eine RMM-Integration verfügen, um diese Skripte in regelmäßigen Abständen auszuführen.
- Sie benötigen Zugriff auf die Gruppenrichtlinien, um gegebenenfalls Richtlinien zur Protokollaufbewahrung anzuwenden.
🎥 Dieses Video erklärt Schritt für Schritt, wie Sie die Log-Rotation und Speicherplatz-Berichte kundenübergreifend automatisieren.
📌 Empfohlene Bereitstellungsstrategien:
Schritt 1: Wichtige Speicherorte von Protokolldateien ermitteln und erfassen
Administrator:innen können mit Windows PowerShell den Inhalt der üblicherweise überwachten Protokollverzeichnisse auflisten, zum Beispiel:
- C:\Windows\System32\LogFiles
- C:\ProgramData\AppName\Logs\
- C:\Logs\CustomScripts\
- C:\inetpub\logs\LogFiles (IIS)
- Antiviren-, Backup- und Überwachungstools (z. B. SentinelOne, Veeam, NinjaOne)
Gehen Sie dazu folgendermaßen vor:
- Öffnen Sie das Startmenü und suchen Sie nach Windows PowerShell.
- Klicken Sie mit der rechten Maustaste auf Windows PowerShell > Als Administrator ausführen.
- Führen Sie das Skript aus, das die Protokolle erstellt. Hier ein Beispielskript für PowerShell:
$paths = @(
"C:\Windows\System32\LogFiles",
"C:\ProgramData\AppName\Logs",
"C:\Logs",
"C:\inetpub\logs\LogFiles"
)
foreach ($path in $paths) {
Get-ChildItem -Path $path -Recurse -Include *.log |
Select-Object FullName, Length, LastWriteTime
}
Passen Sie das Skript an Ihre Anforderungen an.
- Exportieren Sie die Dateien in eine CSV-Datei, um eine Vergleichsbasis zu erhalten.
Schritt 2: Log-Rotation nach Alter oder Größe automatisieren
Sie können Protokolle nach einer bestimmten Anzahl von Tagen rotieren lassen. Gehen Sie dazu folgendermaßen vor:
- Öffnen Sie das Startmenü und suchen Sie nach Windows PowerShell.
- Klicken Sie mit der rechten Maustaste auf Windows PowerShell > Als Administrator ausführen.
- Geben Sie dieses Skript ein und drücken Sie die Eingabetaste:
$logPath = "C:\ProgramData\AppName\Logs"
$days = 30
Get-ChildItem -Path $logPath -Recurse -Filter *.log |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-$days) } |
ForEach-Object {
$archive = "$($_.FullName).bak"
Rename-Item -Path $_.FullName -NewName $archive
}
Sie können die Protokolle vor der Archivierung auch in eine .zip-Datei komprimieren oder sie löschen, sobald sie einen bestimmten Schwellenwert überschreiten.
Zum Komprimieren der Dateien führen Sie dieses Skript aus:
Compress-Archive -Path $archive -DestinationPath "$archive.zip"
Remove-Item -Path $archive
Um die Protokolldateien nach Überschreiten eines bestimmten Schwellenwerts zu löschen, führen Sie dieses Skript aus:
Get-ChildItem -Path $logPath -Recurse -Filter *.log |
Where-Object { $_.Length -gt 100MB } |
Remove-Item -Force
Passen Sie den Schwellenwert für die Dateigröße an Ihre Anforderungen und die Vorgaben Ihres Unternehmens an.
Schritt 3: Eingabeaufforderung und geplante Aufgaben für die einfache Protokollbereinigung nutzen
Mit der Eingabeaufforderung können Sie eine Aufgabe planen, die Ihre Protokolldateien nach einem festgelegten Zeitraum regelmäßig bereinigt. Öffnen Sie die Eingabeaufforderung mit erhöhten Rechten und führen Sie den Befehl aus. Hier ein Beispielbefehl:
Zum Löschen der Protokolle:
forfiles /p "C:\Logs" /s /m *.log /d -30 /c "cmd /c del @path"
Zum Planen einer Aufgabe:
schtasks /create /tn "RotateLogs" /tr "powershell.exe -File C:\Scripts\RotateLogs.ps1" /sc weekly /ru SYSTEM
Das obige Skript führt in festgelegten Intervallen eine PowerShell-Datei wie diese aus:
Get-ChildItem -Path $logPath -Recurse -Filter *.log |Where-Object { $_.Length -gt 100MB } |Remove-Item -Force
Passen Sie die Skripte für die Eingabeaufforderung und PowerShell je Endpunkt an die Vorgaben Ihres Unternehmens und die Richtlinien Ihrer Kund:innen an.
Schritt 4: Berichte zur Festplattenauslastung per PowerShell erfassen
Wenn Sie die Festplattenauslastung im Blick behalten, erkennen Sie, wie viele Protokolle angefallen sind und ob Sie mit dem Löschen oder Archivieren beginnen sollten. Gehen Sie dazu folgendermaßen vor:
- Öffnen Sie das Startmenü und suchen Sie nach Windows PowerShell.
- Klicken Sie mit der rechten Maustaste auf Windows PowerShell > Als Administrator ausführen.
- Geben Sie dieses Skript ein und drücken Sie die Eingabetaste:
Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{Name="Free(GB)";Expression={[math]::round($_.Free/1GB,2)}}, @{Name="Used(GB)";Expression={[math]::round(($_.Used)/1GB,2)}}
Detailed per folder:
Get-ChildItem "C:\" -Directory |
ForEach-Object {
$_.FullName
(Get-ChildItem $_.FullName -Recurse | Measure-Object -Property Length -Sum).Sum / 1MB
}
- Exportieren Sie die Berichte.
Schritt 5: Rotationsstatus und freien Speicherplatz in der Registry nachverfolgen
Sie können die Ergebnisse der Protokollbereinigungen in der Windows-Registry protokollieren und ihren Status mit einem Tool für Endpunkt-Management nachverfolgen.
- Öffnen Sie das Startmenü und suchen Sie nach Windows PowerShell.
- Klicken Sie mit der rechten Maustaste auf Windows PowerShell > Als Administrator ausführen.
- Geben Sie dieses Skript ein und drücken Sie die Eingabetaste:
New-Item -Path "HKLM:\SOFTWARE\Org\LogRotation" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\LogRotation" -Name "LastRotation" -Value (Get-Date).ToString("u")
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\LogRotation" -Name "FreeSpaceGB" -Value 120
- Um die Daten in den Registry-Schlüsseln zu überprüfen, öffnen Sie die Eingabeaufforderung als Administrator.
- Geben Sie diesen Befehl ein und drücken Sie die Eingabetaste:
reg query HKLM\SOFTWARE\Org\LogRotation
Schritt 6: Protokollrichtlinien per GPO durchsetzen (sofern möglich)
- Öffnen Sie das Startmenü und suchen Sie nach Gruppenrichtlinie bearbeiten, um das Programm zu öffnen.
- Navigieren Sie zu folgendem Pfad: Computerkonfiguration > Administrative Vorlagen > Windows-Komponenten > Ereignisprotokolldienst.
- Gehen Sie zu Anwendung, Sicherheit und System, um die folgenden Richtlinien zu konfigurieren:
- Maximale Protokolldateigröße (KB) angeben – Hier legen Sie die maximale Protokollgröße fest.
- Protokollzugriff konfigurieren – Damit definieren Sie die Zugriffsberechtigung für das Sicherheitsprotokoll.
- Protokoll bei Erreichen der maximalen Größe automatisch sichern – Damit legen Sie die Methode zur Protokollaufbewahrung fest (überschreiben oder archivieren).
⚠️ Fehlerbehebung: Darauf sollten Sie achten
| Problem/Risiko | Mögliche Folgen | Lösung/Rückgängigmachen |
| Es treten Berechtigungsfehler auf. | Sie können Protokolldateien weder rotieren noch löschen. | Stellen Sie sicher, dass Sie diese Skripte mit erhöhten Rechten ausführen. |
| Die Protokolldateien sind gesperrt. | Sie können Protokolldateien weder rotieren noch löschen. | Prüfen Sie handle.exe oder starten Sie den Dienst neu, bevor Sie rotieren oder löschen. Manche Anwendungen verhindern Änderungen an ihren Protokolldateien. |
| Die Registry-Aktualisierungen fehlen. | Sie können keine Daten in der Windows-Registry erfassen. | Stellen Sie sicher, dass die Skripte erfolgreich ausgeführt wurden und die Pfade korrekt waren. |
| Die geplanten Aufgaben werden nicht ausgelöst. | Sie können Protokolldateien weder rotieren noch löschen. | Prüfen Sie den Verlauf der Aufgabenplanung oder den Status der Ausführungsrichtlinie in der Eingabeaufforderung mit gpresult /h result.html. |
Quick-Start-Guide
NinjaOne bietet mehrere Funktionen rund um Log-Rotation und Speicherplatz-Berichte:
1. Berichte zum Speicherplatz:
Es gibt ein integriertes Skript „Disk Space Alert“, das Folgendes leistet:
- Alarmierung bei Laufwerken, die einen festgelegten Prozentsatz oder Größenschwellenwert unterschreiten
- Unterscheidung zwischen System- und Datenlaufwerken
2. Protokoll- und Dateiverwaltung:
Mehrere Skripte unterstützen die protokollbezogene Überwachung:
- „File Modification Alert“ prüft, ob eine Datei aktualisiert wurde
- „Text File Monitor“ alarmiert, wenn ein bestimmter Text in einer Protokolldatei gefunden wird
- „Backup Event Log to Local Disk“ exportiert Ereignisprotokolle in eine komprimierte ZIP-Datei
3. Weitere relevante Funktionen:
- „Tree Size Report“ liefert eine Liste der Ordnergrößen für einen angegebenen Pfad
- „System Performance Check“ erfasst Daten zur Systemleistung, einschließlich Informationen zu Datenträgern
Weitere Überlegungen zur Automatisierung von Log-Rotation und Speicherplatz-Berichten
- Manche Anwendungen schreiben rotierende Protokolle automatisiert, andere müssen erst konfiguriert werden. Berücksichtigen Sie das bei der Konfiguration dieser Einstellungen.
- Kund:innen mit HIPAA- oder SOC-2-Anforderungen benötigen unter Umständen längere Archivierungsfristen. In diesem Fall empfiehlt es sich, Protokolldateien zu rotieren statt zu löschen.
- Behalten Sie Ihre Laufwerke genau im Blick. Richten Sie Auslöser für die Protokollbereinigung ein, sobald die Auslastung 80 bis 90 % erreicht.
- Nutzen Sie Tools wie NXLog oder PowerShell, um relevante Ereignisse vor der Rotation zu extrahieren.
NinjaOne-Funktionen für Log-Rotation und Speicherplatz-Berichte
NinjaOne unterstützt Unternehmen bei der Verwaltung ihrer Protokolldateien und ihres Speicherplatzes:
| Funktion | Vorteil | So wird der Prozess einfacher |
| PowerShell-Skripte für die Log-Rotation bereitstellen und planen. | So bleibt die Protokollpflege auf allen Geräten einheitlich. | Wiederkehrende Aufgaben laufen automatisiert ab, eine manuelle Bereinigung entfällt. |
| Geräte nach freiem Speicherplatz, Protokollanzahl und Wachstumstrends taggen. | So erkennen Sie gefährdete Geräte, bevor Probleme auftreten. | Sie erhalten klare Transparenz und können Prioritäten dort setzen, wo es nötig ist. |
| Administrator:innen alarmieren, wenn eine Bereinigung fehlschlägt oder der Speicherplatz knapp wird. | Das verhindert Ausfallzeiten und Leistungsprobleme. | Proaktive Benachrichtigungen ermöglichen ein schnelles Eingreifen. |
| Berichte zu Festplattenauslastung und vorhandenen Protokollen über alle Mandanten hinweg erstellen | Das unterstützt Audits und Quartalsreviews mit belastbaren Daten. | Es spart Zeit, weil Compliance- und Geschäftsberichte sofort einsatzbereit sind. |
| Bedingte Aktionen (Bereinigung, Benachrichtigungen) anhand von Schwellenwerten auslösen. | So bleiben Systeme optimiert und Compliance-konform. | Reaktionen auf Probleme laufen automatisiert, ohne manuelles Eingreifen. |
Speicherplatz verwalten: Log-Rotation auf allen verwalteten Geräten automatisieren
Die Automatisierung von Log-Rotation und Speicherplatz-Überwachung ist für skalierbare IT-Abläufe unverzichtbar. Entscheidend sind eine zentrale Kontrolle und die Gewissheit, dass Ihre Protokolldateien bestimmte Schwellenwerte der Festplattenauslastung nicht überschreiten. So verwalten Sie Ihre Ressourcen effizienter und stellen sicher, dass Ihr Unternehmen Speicherplatz dort einsetzt, wo er wirklich gebraucht wird.
Ähnliche Beiträge:
- Wie Sie mit einem PowerShell-Skript NinjaOne-Support-Protokolldateien erzeugen
- Wie Sie unter Linux mit einem Bash-Skript Protokolldateien überwachen und bestimmte Texte erkennen
- Windows-Ereignisprotokolle lesen: Herunterfahren und Neustart
- Wie Sie Speicherplatz mit einem PowerShell-Skript aus der Ferne prüfen und überwachen
- Wie Sie die Datenträgerbereinigung in Windows zur Systemoptimierung nutzen
