Exchange 2013 Eccessivo consumo di spazio disco dovuto ai LOG di sistema
In un ambiente Microsoft Exchange 2013 il consumo dello spazio disco dovuto ai log di sistema è elevato, questo perchè per impostazione predefinita la quantità di informazioni registrate riguarda tutti gli aspetti del sistema andando a consumare fino a 5Gb a settimana. Oltre a questo anche i registri di IIS giocano un ruolo importante andando a consumare circa 500Mb alla settimana.
Analizzando nel dettaglio i log da tenere sotto controllo sono :
- Diagnostic Logs ( Health Manager )
- ETL Files
- IIS Logs
- HTTP Proxy Logs
Se non si esegue una costante manutenzione del server andando a pulire i registri arriveremo al punto che Exchange smetterà accettare e consegnare posta in quanto verranno allertati i trigger settati sulla percentuale di spazio disco libero a disposizione.
Per evitare che ciò accada è possibile schedulare l’esecuzione di uno script powershell che, in modo completamente automatico, pulisca i log di Exchange e IIS più vecchi di 10 giorni. Se fate girare lo script su un server dove non è mai stata eseguita una manutenzione potreste recuperare dai 50 ai 100Gb di spazio!
Lo script che andremo ad eseguire si chiama : Exchange 2013 Log Cleanup PowerShell Script lo potete recuperare aggiornato sul gitab dell’ideatore a questo indirizzo :
file-log-delete-ps1 oppure direttamente qui : log-delete
CONTENUTO DELLO SCRIPT:
Set-Executionpolicy RemoteSigned
$days=10 #You can change the number of days here
$IISLogPath=”C:\inetpub\logs\”
$ExchangeLoggingPath=”C:\Program Files\Microsoft\Exchange Server\V15\Logging\”Function CleanLogfiles($TargetFolder)
{
if (Test-Path $TargetFolder) {
$Now = Get-Date
$LastWrite = $Now.AddDays(-$days)
$Files = Get-ChildItem $TargetFolder -Include *.log,*.blg -Recurse | Where {$_.LastWriteTime -le “$LastWrite”}
foreach ($File in $Files)
{Write-Host “Deleting file $File” -ForegroundColor “Red”; Remove-Item $File -ErrorAction SilentlyContinue | out-null}
}
Else {
Write-Host “The folder $TargetFolder doesn’t exist! Check the folder path!” -ForegroundColor “red”
}
}# lets do this
Write-Host “Removing IIS and Exchange logs; keeping last” $days “days”
CleanLogfiles($IISLogPath)
CleanLogfiles($ExchangeLoggingPath)
Se analizziamo lo script possiamo vedere che è possibile modificare il numero di giorni di log da conservare e il percorso predefinito di installazione di Exchange andando a modificare le seguenti righe :
$days=10 #You can change the number of days here
$IISLogPath=”C:\inetpub\logs\”
$ExchangeLoggingPath=”C:\Program Files\Microsoft\Exchange Server\V15\Logging\”
Una volta impostato i parametri di ritenzione e il percorso di installazione possiamo eseguire lo script manualmente o creare una pianificazione nel sistema in modo da non dovercene più preoccupare.
Una volta eseguito vederemo scorrere a video i files che vengono cancellati :
Se come nel mio caso l’esecuzione dello script non fosse permessa dalle Policy di Autorizzazione sugli script ricordatevi di eseguire prima il comando :
Set-ExecutionPolicy unrestricted
in modo da autorizzarne l’esecuzione.
ISCRIVITI ALLA NEWSLETTER DI PC-GURU.IT
Grazie all’iscrizione ti informerò ogni volta che pubblicherò un nuovo contenuto.
Non perderti nemmeno un articolo!
Iscriviti alla nostra newsletter inserendo la tua mail qui :