IIS Logfiles (c:\inetpub\logs\LogFiles) löschen

IIS Logfiles löschen

Wie oben schon gesagt, werden alte IIS Logfiles nicht automatisch gelöscht. Aber da wir nur die neuen Logfiles benötigen, aber nicht die alten Logdateien, können wir diese löschen. Meiner Meinung nach ist der Zeitraum von 30 Tagen ein sehr gut gewählter Zeitraum. Also alle Dateien, die älter sind als 30 Tage, können wir bedenkenlos löschen.

 

<#

www.FrankysWeb.de

Script zum Bereinigen von IIS Logfiles
by Frank Zöchling

Um das Script als Task auszuführen, kann eine Aufgabe angelegt werden. die das Script startet:
powershell.exe c:\scripts\Clean-IISLogfiles.ps1 -noprofile –Noninteractive

#>

$deleteafterdays = „7“ #Days

#——————————————————–
import-module webadministration
$deletedate = (get-date).adddays(-$deleteafterdays)

$websites = get-website
foreach ($website in $websites)
{
$logfiledir = $website.logfile.directory
if ($LogFiledir -match „%SystemDrive%“)
{
$logfiledir = $logfiledir -replace „%SystemDrive%“,“c:“
}

$logfilelist = Get-ChildItem $logfiledir -Recurse | where {! $_.PSIsContainer -and $_.lastwritetime -lt $deletedate} | select fullname
foreach ($logfile in $logfilelist)
{
remove-item $logfile.fullname
}
}

In Zeile „$deleteafterdays“ wird angegeben, wo sich die Logdateien befinden und in Zeile „$deleteafterdays“ in welchem Zeitraum diese gelöscht werden sollen. (Im Beispiel “älter als 7 Tage“).

Nachdem das Script ausgeführt wurde, sollte nun wieder eine Menge Speicherplatz auf dem Webserver freigegeben sein. Um die IIS Logfiles löschen zu lassen, kann man hierzu auch einen Task in der Aufgabenplanung anlegen und diesen einmal in der Woche ausführen lassen. 🙂

 

In der Aufgabenplanung:

powershell.exe c:\scripts\Clean-IISLogfiles.ps1 -noprofile –Noninteractive

unabhängig von der Benutzerammledung ausführen“ und „mit höchsten Privilegien ausführen

SUCHWORTE:

Lasse gerne ein Kommentar da, vielleicht hilft es auch anderen Usern?

WiKi.Premium-Lizenz.com
Logo
Jetzt registrieren