Hur man skriptar underhåll av IIS-loggar med Powershell
Vi har skapat ett enkelt skript i Powershell som kan användas till att exempelvis hålla loggarna på en välbesökt webbserver i trim. Dessa loggar växer i såväl storlek som antal om man inte underhåller dessa och manuellt raderar de vid behov.
Vill man slippa detta manuella underhåll, och om man inte har krav på sig att spara undan logfilerna, då har vi skriptet som underlättar din vardag och som hindrar loggfilerna från att fylla din systemdisk.
Loggfilerna för en IIS (Microsoft Internet Information Services) hamnar som default på systemdisken (normalt C:\). Detta gör att vid ohämmad loggfilstillväxt så riskerar systemet att stanna när systemdisken fyllts av dessa filer.
Skriptet - RemoveOldIISlogs.ps1
Skriptet kan köras manuellt via Windows Powershell i Windows 7 och uppåt eller Windows Server 2008 och uppåt. Enklast är dock att schemalägga skriptet med hjälp av en Batch-fil och schemaläggaren (Task Scheduler) i Windows.Batchfilen - RemoveOldIISlogs.bat
Packa upp filen RemoveOldIISlogs.zip (hämtas nedan) så skapas katalogstrukturen C:\Scripts\Maintenance där filerna packas upp. Om ni vill ha dessa på annan plats så glöm inte att ändra sökvägen i filen RemoveOldIISlogs.bat samt i schemaläggningen (se nedan).Schemalägg jobbet - Task Scheduler
- Starta Task Scheduler på servern
- Skapa en ny Task (Create Task)
- Fyll i följande fält på fliken General med föreslagen text eller egen:
» Name: Remove Old IIS Logs
» Description: Delete IIS logs older than 30 days
» When running task, use the following user account: Skapa en användare för att köra skript eller använd en befintlig med behörighet
» Markera "Run whether user is logged on or not"
» Run with highest privileges, Configure for: Windows 7, Windows Server 2008 R2
- På fliken Triggers sätter ni en tidpunkt varje natt när inte backupen körs
- Fliken Actions:
» Start a program: C:\Scripts\Maintenance\RemoveOldIISlogs.bat
» Start in: C:\Scripts\Maintenance