Herkese merhabalar. Bugünkü makalemizi Bilgisayar kategorimiz altına ekliyoruz. Makale konumuz ise Exchange log temizleme hakkında olacak.
Exchange bildiğiniz gibi Microsoft a ait bir mail sunucu yazılımıdır. Exchange ile kurumsal şirketinizde mail kullanımını en profesyonel şekilde yapabilirsiniz.
Pek çok özelliği bulunan Exchange mail sisteminde çok gelişmiş de bir log tutma özelliği vardır. Her şeyi kayıt altına alır.
Ancak belli bir süre sonra bu log dosyaları sunucu disk kapasitesini zorlamaya başlar ve en azından belli tarihten önceki logların temizlenmesi gerekir.
Exchange Log Silme
Peki Exchange log silme işlemini nasıl yapacağız ? Öncelikle aşağıdaki kodları kopyalayarak bir metin belgesine yapıştırın ve adını CleanupLogs.ps1 olarak kaydedin.
Set-Executionpolicy -Scope CurrentUser RemoteSigned
$days=2
$IISLogPath=”C:\inetpub\logs\LogFiles\”
$ExchangeLoggingPath=”C:\Program Files\Microsoft\Exchange Server\V15\Logging\”
$ETLLoggingPath=”C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\ETLTraces\”
$ETLLoggingPath2=”C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\Logs\”
Function CleanLogfiles($TargetFolder)
{
write-host -debug -ForegroundColor Yellow -BackgroundColor Cyan $TargetFolderif (Test-Path $TargetFolder) {
$Now = Get-Date
$LastWrite = $Now.AddDays(-$days)
$Files = Get-ChildItem $TargetFolder -Recurse | Where-Object {$_.Name -like “*.log” -or $_.Name -like “*.blg” -or $_.Name -like “*.etl”} | where {$_.lastWriteTime -le “$lastwrite”} | Select-Object FullName
foreach ($File in $Files)
{
$FullFileName = $File.FullName
Write-Host “Deleting file $FullFileName” -ForegroundColor “yellow”;
Remove-Item $FullFileName -ErrorAction SilentlyContinue | out-null
}
}
Else {
Write-Host “The folder $TargetFolder doesn’t exist! Check the folder path!” -ForegroundColor “red”
}
}
CleanLogfiles($IISLogPath)
CleanLogfiles($ExchangeLoggingPath)
CleanLogfiles($ETLLoggingPath)
CleanLogfiles($ETLLoggingPath2)
Bu komut içindeki yalnızca $days=2 kısmını ayarlamanız gerekiyor. Buradaki rakam 2 günden daha eski Exchange loglarını temizleyeceği anlamına geliyor.
Bu kısmı da kendinize göre ayarladıktan sonra bu dosyayı Exchange sunucusunda C: \ scripts \ yolu altına kaydedin.
Daha sonra Powershell i yönetici olarak çalıştırdıktan sonra bu dosyayı Powershell e bırakın ve enter tuşu ile komutu başlatın.
Ekranda log dosyalarının silinmeye başladığını göreceksiniz. Belli bir süre sonra bu işlem bitecek ve belirttiğiniz tarihten önceki loglar silinmiş olacaktır.
Ne kadar alan kazandığınızı görmek için sunucu disklerinin boyutlarını yeniden kontrol edebilirsiniz.
Bizi takip ettiğiniz için teşekkür ederiz. Bir sonraki makalemizde görüşmek üzere.