Exchange Server büyüyen IIS loglarının arşivlenerek silinmesi

Exchange Server zaman içerisinde bir çok IIS Log biriktirebilir, Bazı Adminler bu logları olası problemlere karşı farklı bir disk üzerinde tutarak, disk üzerindeki boş alan azaldığında IIS loglarını elle siliyorlar. Sistem üzerindeki IIS loglarının 80 GB yer kapladığını gördüğümde elle arşivleyerek silmeyi düşündüm, sonra Powershell ile bunu yapabilirim diyerek biraz araştırma sonrasında bulduğum script ile sorunsuz bir şekilde IIS loglarını arşivleyerek temizledim. Böylelikle sanal üzerindeki disk yapımda bir büyüme olmadığı için replikasyon yapısında bir değişiklik olmadı, yeniden replikasyon yapmama gerek kalmadı.

İstediğim sadece uygulamanın benim göstereceğim bir yere sıkıştırarak arşivlemesi sonrasında da arşivlediği logu IIS üzerinden silmesi. Aşağıda detaylarını belirttiğim log ile bunu kolayca gerçekleştirebildim, şimdi bunu nasıl yaptığıma beraber bakalım,

Script’e TechNet Gallery üzerinden yada Github üzerinden erişebilirsiniz.

Script’i Scripts adında bir klasör oluşturarak içine kopyalayıp C diskinin içerisine atıyoruz. IIS Loglarımızı olduğu yolu buluyoruz.

Exchange sunucunuz üzerinde PowerShell i Run as Administrator olarak çalıştırıyoruz

C:\Scripts dizini altına geliyoruz.

-Logpath “IIS loglarının bulunduğu dizin” bu genellikle c:\inetpub\logs\LogFiles\W3SVC1 olabilir

.\IISLogsCleanup.ps1 -Logpath “C:\DavutEren Log Files\W3SVC1” yazdığınızda sadece IIS üzerindeki Loglar silinecektir.

-ArchivePath “Logları yedeklemek istediğiniz yeri belirtmeniz gerekiyor”

.\IISLogsCleanup.ps1 -Logpath “C:\DavutEren Log Files\W3SVC1” -ArchivePath “\\davuteren-nas\Logs”

Script çalıştığında IIS üzerinde bulunan logları önce zipleyerek arşiv yapmak istediğiniz yere kopyalayacak sonrasında IIS üzerinde arşivlenmiş logları silecektir.

Eğer bu Scrip’i otomatik olarak zamanlanmış görevlere ekleyerek ayda bir defa çalışması için ayarlayabilirsiniz.

Yeni bir schedule task oluşturarak Run wheher user is logged on or not seçeneğini seçiyoruz.

Triggers tarafında Her ayın ilk günü olacak şekilde seçim yaptım

Actions tabında Program olarak powershell.exe

Arguments olarak bu kodu yazıyoruz     -command “C:\Scripts\IISLogsCleanup.ps1 -LogPath “C:\DavutEren Log Files\W3SVC1” -ArchivePath “\\davuteren-nas\Logs”

Bu şekilde görevi kaydederek sorunsuz bir şekilde görevi zamanlayabilirsiniz.

 

Referans: http://exchangeserverpro.com/powershell-script-iis-logs-cleanup/

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.