Exchange 2013 Eccessivo consumo di spazio disco dovuto ai LOG di sistema

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 :


 

 

 

 

Author: admin

Share This Post On

Submit a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *