İ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.
3.Sol taraftaki bağlantı ağacında sunucunuzun adını genişletin.
4.Siteler altında, temizlemek istediğiniz web sitesini seçin.
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.
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.
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
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.