IIS Backup Logs

2022-07-14

筆記 IIS 如何排程進行 Logs 備份,並且結合壓縮的方式節省空間。

logo

說明

PowerShell

logsbackup.ps1

robocopy C:\inetpub\logs\LogFiles D:\IISLogsBackup /e /xf *

$dest = "D:\IISLogsBackup"

Get-ChildItem C:\inetpub\logs\LogFiles -Recurse *.log | 
Where-Object {$_.LastWriteTimeUtc -gt (Get-Date).AddDays(-7).Date} | 
% {Compress-Archive $_.FullName "${dest}\$($_.Directory.BaseName)\$($_.Name).zip" -Update}

對於來源 C:\inetpub\logs\LogFiles 的所有子目錄都必須有存取權限。

使用 PowerShell Compress-Archive需要 PowerShell 5.1 以上的支援,而 Windows Server 2012 預設為 PowerShell 4,需要藉由安裝 KB (WMF 5.1) 升級至 PowerShell 5 以正常使用。

Windows Server 安裝與設定 WMF 5.1

設定 Task Scheduler

Powershell -File D:\PSScripts\logsbackup.ps1

Windows Runs taskschd.msc

按照上述的設定,不需要登入排程也會自動進行,非常方便 😎

相關連結

IIS 筆記整理

IIS 網頁伺服器的安全設定 (IIS Security Configuration)