RecoveryManager Plus herhangi bir yedekleme ve geri yükleme işlemi gerçekleştirdiğinde oluşturulan işlem günlüklerinin temizlenmesi

Sorun

Şirket içi Exchange'i dağıttığınızda, posta kutuları tarafından oluşturulan günlüklerdeki artış nedeniyle boş disk alanı hızla azalacaktır. Bu büyük günlük boyutları sorunu, Exchange 2013 ve üzeri sürümlerinde baskındır.

Şirket içi Exchange posta kutularınızı yedeklemek için RecoveryManager Plus'ı yüklediğinizde, ürün Exchange Server'da bulunan posta kutularına erişmek için Exchange Web Hizmetleri (EWS) API'sini kullanır. Ürün, yedekleme veya geri yükleme gibi herhangi bir işlem için bu API'lere her eriştiğinde Microsoft Exchange bir günlük oluşturur. Ortamınızda çok sayıda posta kutusu varsa ve günlük artımlı yedeklemeler zamanladıysanız, kullanılabilir disk alanı hızla azalacaktır.

Bir yedekleme işlemi çalıştırıldığında sunucu tarafından oluşturulan günlüklere ek olarak, Exchange sunucusu tarafından günlük olarak oluşturulan çok sayıda günlük vardır. Eski günlük dosyalarını düzenli olarak temizlemediğiniz sürece, posta kutusu veritabanlarının otomatik olarak çıkarılması ve hata 452 4.3.1 Yetersiz sistem kaynakları hatası ile kullanıcılarınızda kesintilere neden olması çok yaygındır.

Çözüm

Bu sorunu çözmenin en etkili yolu, yedeklemeler ve diğer normal faaliyetler nedeniyle Exchange sunucusu tarafından oluşturulan eski günlükleri periyodik olarak temizlemektir. Bu günlükler Microsoft Exchange sunucusu tarafından oluşturulduğundan, bunlar RecoveryManager Plus tarafından silinemez.

Bu makalede, herhangi bir işlem günlüğü dosyasını temizlemeyi nasıl otomatikleştirebileceğiniz açıklanacaktır.

Yasal Uyarı: Lütfen RecoveryManager Plus'ın Exchange sunucunuzda doğrudan herhangi bir günlük oluşturmadığını veya var olan günlükleri silmediğini unutmayın. Bu makalede, Exchange sunucunuz tarafından oluşturulmuş ve oluşturulacak günlükleri otomatik olarak nasıl temizleyebileceğiniz açıklanmaktadır.

Adım 1: Gerekli PowerShell betiği oluşturma

  1. Bir PowerShell betiği oluşturun.
    # Set execution policy if not set
    $ExecutionPolicy = Get-ExecutionPolicy
    if ($ExecutionPolicy -ne "RemoteSigned") {
    	Set-ExecutionPolicy RemoteSigned -Force
    }
    # Cleanup logs older than the set of days in numbers
    $days = 2
    
    # Path of the logs that you like to cleanup
    $LogPaths = "C:\Program Files\Microsoft\Exchange Server\V15\Logging\Ews\"
    
    # Clean the logs
    Function CleanLogfiles($TargetFolders) {
     foreach ($TargetFolder in $TargetFolders) {
    	Write-Host -Debug -ForegroundColor Yellow -BackgroundColor Cyan $TargetFolder
    
    	if (Test-Path $TargetFolder) {
    		$Now = Get-Date
    		$LastWrite = $Now.AddDays(-$days)
    		$Files = Get-ChildItem $TargetFolder -Recurse | Where-Object { $_.Name -like "*.log" } 
    | Where-Object { $_.lastWriteTime -ge "$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($LogPaths)
    Not 1: Bu örnek betikte, betiğin 7. satırında 2 değerini sağladık. Burada sağlanan değere bağlı olarak, sağlanan değerin gün sayısından daha eski günlükler silinecektir. Yapılandırılan artımlı yedekleme sıklığınıza bağlı olarak değeri herhangi bir sayıya değiştirebilirsiniz. Günlük bir zamanlayıcınız varsa, 1 değerini sağlamanızı öneririz. Benzer şekilde, artımlı yedekleme sıklığınız sırasıyla haftalık ve aylık ise 7 ve 31 değerlerini kullanın.
    Not 2: Exchange'i varsayılan yol yerine farklı bir dizine yüklediyseniz, betiğin 10. satırında yolu sağlayın. Exchange Server'ınızın sürümüne bağlı olarak, ../V15/... değeri ilgili sayıya değiştirilmelidir. Sisteminizdeki diğer günlükleri periyodik olarak temizlemek istiyorsanız, $LogPaths'in sonuna virgülle ayırarak günlüklerin konumunu ekleyin.
  2. Betiği CleanupLogs.ps1 olarak depolayın ve C:\Scripts\ klasörüne yerleştirin. Eğer bir Scripts klasörünüz yoksa, C:\ sürücüsünde bir tane oluşturun.

Adım 2: Görev Zamanlayıcı kullanarak günlük temizleme prosedürünü otomatikleştir

  1. Görev Zamanlayıcıyı Başlat

    cleaning-up-transaction-logs-in-exchange-server

  2. Sol bölmeden Görev Zamanlayıcı Kitaplığı üzerine tıklayın ve sağ bölmeden Yeni klasör öğesine tıklayın. Klasörü RecoveryManager Plus olarak adlandırın ve Tamam’a tıklayın.

    cleaning-up-transaction-logs-in-exchange-server

  3. Sol bölmeden yeni oluşturulan Exchange klasörüne tıklayın ve sağ bölmeden Görev Oluştur öğesine tıklayın.

    cleaning-up-transaction-logs-in-exchange-server

  4. Bir Görev Oluştur penceresi açılır.
  5. Genel sekmesine tıklayın.
  6. Ad alanında, EWSLogsCleanup girin.
  7. Güvenlik seçenekleri altında,
    • Kullanıcıyı veya Grubu Değiştir düğmesine tıklayın ve SYSTEM öğesini seçin.
    • En yüksek ayrıcalıklarla çalıştır öğesini etkinleştirin.
    • Bir Windows Server 2016'nız varsa, Windows Server 2016 için Yapılandır'ı seçin. Farklı bir Windows Server sürümünüz varsa, uygun olanı seçin.

      cleaning-up-transaction-logs-in-exchange-server

  8. Tetikleyiciler sekmesine tıklayın ve Yeni'ye tıklayın.

    cleaning-up-transaction-logs-in-exchange-server

  9. Ayarlar bölümünde, Günlük öğesini seçin ve Başlangıç alanına günlük temizlemenin çalışmasını istediğiniz saati girin. Etkin olduğundan emin olun ve Tamam’a tıklayın.
    Not: Bu örnekte, Günlük öğesini seçtik. Ancak, RecoveryManager Plus'ı artımlı yedeklemeleri haftalık veya aylık olarak gerçekleştirecek şekilde zamanladıysanız, bunu uygun şekilde değiştirebilirsiniz.

    cleaning-up-transaction-logs-in-exchange-server

  10. Eylemler sekmesine tıklayın ve Yeni'ye tıklayın.

    cleaning-up-transaction-logs-in-exchange-server

  11. Ayarlar bölümünde,
    • Program/script alanında PowerShell.exe öğesini seçin.
    • Bağımsız değişken ekle (isteğe bağlı): alanında -ExecutionPolicy Bypass C:\Scripts\CleanupLogs.ps1 girin.
    • Tamam’a tıklayın.

      cleaning-up-transaction-logs-in-exchange-server

  12. Tamam’a tıklayın.

    cleaning-up-transaction-logs-in-exchange-server

Görev artık zamanlanmıştır ve Exchange EWS günlükleriniz artık belirtilen saatte ve sıklıkta temizlenecektir.

Adım 3: Exchange günlüklerini temizleme görevini elle çalıştır ve test et

  1. Orta bölmeden oluşturulan CleanupLogs görevine tıklayın ve sağ bölmeden Çalıştır’a tıklayın.
  2. Son çalıştırma işleminin durumunu orta bölmedeki Son Çalıştırma Sonucu sütunundan kontrol edebilirsiniz.

    cleaning-up-transaction-logs-in-exchange-server

  3. CleanupLogs görevinin aşağıdaki klasör(ler)deki günlükleri temizleyip temizlemediğini kontrol edin.
    C:\Program Files\Microsoft\Exchange Server\V15\Logging\Ews\
    Not: Betiği kullanarak temizlenecek ek günlükler eklediyseniz (betiğin 10. satırı), bu günlüklerin de başarıyla temizlenip temizlenmediğini kontrol edin.
Not: Lütfen RecoveryManager Plus'ın Exchange sunucunuzda doğrudan herhangi bir günlük oluşturmadığını veya var olan günlükleri silmediğini unutmayın. Bu makalede, Exchange sunucunuz tarafından oluşturulmuş ve oluşturulacak günlükleri nasıl temizleyebileceğiniz açıklanmaktadır.

Daha fazla yardıma mı ihtiyacınız var?

Bu formu doldurun, sizinle hemen iletişime geçeceğiz.

Unterstützung erbitten

  •  
  • *
     
  • *
     
  • *
     
  • 'Gönder' seçeneğini tıklayarak, kişisel verilerin Gizlilik Politikası 'na göre işlenmesini kabul edersiniz.

"Talebinizi gönderdiğiniz için teşekkür ederiz.

Teknik destek ekibimiz en kısa sürede size geri dönüş yapacaktır."