Ich habe gerade festgestellt, dass IIS Protokolle auf unbestimmte Zeit erstellt und es anscheinend keine IIS-Einstellungen gibt, mit denen alte Protokolldateien automatisch bereinigt werden. Wie halte ich meine IIS-Protokolle am besten unter Kontrolle, damit sie nicht die gesamte Festplatte ausfüllen?
20
Antworten:
Dazu müssen Sie eine geplante Aufgabe ausführen. Hier ist ein Powershell-Skript, das funktionieren sollte.
Dies sollte alles löschen, was vor mehr als 30 Tagen zuletzt geändert wurde. Ändern Sie den Pfad in der ersten Zeile dahin, wo Ihre Protokolldateien gespeichert sind. Ändern Sie auch die Einstellung -30 so lange, bis Sie die Dateien behalten möchten. -30 bedeutet, dass Sie alles löschen, was älter als 30 Tage ist.
In diesem Artikel werden verschiedene Eigenschaften für das FileInfo-Objekt aufgeführt, wenn Sie LastWriteTime nicht verwenden möchten.
quelle
Get-ChildItem *.* -include *.log
Sie könnten Ihre eigenen brauen, aber ich glaube, eine kluge Person hat dies bereits für Sie geschrieben. Schauen Sie sich IISLogs & IISLogs Lite an!
Wenn Sie nur die Protokolle löschen, können Sie die Protokollierung deaktivieren, wenn sie nicht benötigt wird! Sie sparen Ihrem Server viel I / O!
quelle
Ich mache dies derzeit mit einem sehr einfachen Batch-Datei-Skript:
Ich habe auch einen Eintrag für geplante Tasks erstellt , um ihn täglich zu starten, und sogar die Dateikomprimierungsfunktion für diesen Ordner aktiviert: All diese Dinge zusammen haben mein Problem mit IIS-Dateien endgültig behoben.
Erläuterung der Schalter in der Batch-Datei:
Wenn Sie nach einer praktikablen Powershell- Alternative suchen, lesen Sie die folgende Antwort : Weitere Vorschläge zur ordnungsgemäßen Reduzierung des Ordners "IIS-Protokolldateien" finden Sie in diesem Beitrag .
quelle
Wenn Sie sie regelmäßig bereinigen möchten, deaktivieren Sie dann die Anforderungsprotokollierung in IIS. Sie können so etwas wie Google Analytics oder einen anderen Dienst verwenden. Ich sehe, dass viele Leute dies tun, um die Kopfschmerzen mit IIS-Protokollen zu vermeiden, die die Leistung beeinträchtigen und den gesamten Speicherplatz verschlingen, aber es hängt natürlich alles von Ihren Anforderungen ab.
quelle
Microsoft schlägt ein Skript auf seiner Website vor .
Unten ist eine modifizierte Version, die ich für meine Bedürfnisse benutze.
Beachten Sie, dass ich von "DateCreated" zu "DateLastModified" gewechselt habe, da das Datum der Erstellung, wie es bei kopierten Dateien der Fall ist, möglicherweise später als zuletzt geändert wurde. Sie möchten wahrscheinlich keine Dateien entfernen, die kürzlich aktualisiert wurden.
Führen Sie es dann mit cscript.exe aus (zum Beispiel
cscript.exe d:\scripts\logRetentionScript.vbs
).quelle
Erstellen Sie eine geplante Aufgabe auf dem Server. Im Bereich Aktionen möchten Sie:
Geben Sie einen Tages- oder Wochenplan an. Getan.
quelle