Kategoriler
Windows Windows Server Yazılar

Windows Server’da IIS Loglarını Düzenli Aralıklarla Temizleme

İnternet Information Services (IIS), Windows Server üzerinde web sunucu hizmeti sağlayan bir bileşendir. IIS, web sitelerinin performansını izlemek ve sorunları tespit etmek için log dosyalarını kaydeder. Ancak zamanla bu log dosyaları gereksiz yere disk alanını doldurabilir.

Bu yazıda Windows Server üzerinde IIS loglarını nasıl temizleyeceğinizi bakacağız.

Adım 1: IIS Loglarının Yerini Belirleme

1.Windows Sunucu’ya oturum açın.

2.Başlat menüsünden “IIS” yazarak “Internet Information Services (IIS) Yöneticisi”ni açın.

IIS 01
IIS 01

3.Sol taraftaki bağlantı ağacında sunucunuzun adını genişletin.

4.Siteler altında, temizlemek istediğiniz web sitesini seçin.

IIS 02
IIS 02

5.Sağ tarafta “IIS” bölümünde “Logging” öğesini bulun. Burada log dosyalarının saklandığı dizini göreceksiniz. Bu genellikle “C:\inetpub\logs\LogFiles” veya benzeri bir yol olacaktır.

IIS 03
IIS 03

Adım 2: Logları Temizleme

1.Log dosyalarını silmeden önce, içeriğini yedeklemek isteyebilirsiniz. Bunun için log dosyalarını başka bir klasöre kopyalayabilirsiniz.

2.Log dosyalarını temizlemek için “LogFiles” klasörüne gidin.

LogFiles
LogFiles

3.Burada, tarih ve saat bilgileriyle adlandırılmış farklı klasörler göreceksiniz (örneğin W3SVC1, W3SVC2, vb.). İlgilendiğiniz web sitesine ait klasörü seçin.

4.Klasör içindeki log dosyalarını seçin ve Sil tuşuna basarak dosyaları kalıcı olarak silin.

Adım 3: Zamanlanmış Görev Oluşturma (İsteğe Bağlı)

Eğer IIS loglarını periyodik olarak temizlemek isterseniz, Windows Task Scheduler (Görev Zamanlayıcı) kullanabilirsiniz. Böylece belirlediğiniz aralıklarla otomatik olarak logları temizleyebilirsiniz.

1.Bunun için hazırlamış olduğumuz script üzerinden devam edeceğiz. Scripti bir metin editörüne kopyalayarak bir isim veriyoruz ve .vbs olarak kaydediyoruz.

sLogFolder = "c:\inetpub\logs\LogFiles"
iMaxAge = 30   'in days

' FileSystemObject oluşturuluyor
Set objFSO = CreateObject("Scripting.FileSystemObject")

' Log dosyalarının bulunduğu klasörün alt klasörleri taranıyor
set colFolder = objFSO.GetFolder(sLogFolder)
For Each colSubfolder in colFolder.SubFolders
        ' Alt klasör içindeki dosyaları tarıyor
        Set objFolder = objFSO.GetFolder(colSubfolder.Path)
        Set colFiles = objFolder.Files
        For Each objFile in colFiles
                ' Dosyanın yaşını hesaplıyor
                iFileAge = now - objFile.DateCreated
                ' Belirlediğiniz gün sınırını aşıyorsa silme işlemi yapılıyor
                if iFileAge > (iMaxAge+1) then
                        objFSO.DeleteFile objFile, True ' Dosya siliniyor
                end if
        Next
Next
2.Daha sonra başlat menüsünden “Task Scheduler” (Görev Zamanlayıcı) uygulamasını açın.

3.”Create Basic Task” (Temel Görev Oluştur) seçeneğini tıklayarak yeni bir zamanlanmış görev oluşturun.

4.Görevinizi adlandırın ve açıklama ekleyin.

5.Görevin ne sıklıkla çalışacağını seçin (günlük, haftalık, aylık vb.).

6.”Start a Program” (Bir Program Başlat) seçeneğini seçin ve logları silmek için bir komut dosyası veya betik belirtin.

7.Görevinizi özetleyen bir ekran göreceksiniz. “Finish” veya “Create” seçeneğiyle görevinizi oluşturun.

Bu adımları takip ederek, Windows Server üzerinde IIS loglarını düzenli aralıklarla temizleyebilirsiniz. Logları silerken dikkatli olun ve gereksiz dosyaları silmeden önce yedekleme yapmayı unutmayın.


Herhangi bir sorunuz veya eklemek istediğiniz detaylar varsa bana yazmaktan çekinmeyin.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir