Log Yönetimi Logrotate Yapılandırması

Logrotate = LOG DOSYALARININ BEKÇİSİ

# 🎯 Ne işe yarar? → “Log dosyalarının büyümesini kontrol eder”

# Gerçek hayat benzetmesi:
# Log dosyaları = Çöp kutuları
# Logrotate = Temizlik görevlisi — dolan çöp kutularını boşaltır

# 🤔 Problem: Log dosyaları sürekli büyüyor
– Disk doluyor
– Dosyalar okunması zor oluyor
– Performans düşüyor

# Çözüm: Logrotate ile logları:
1. Küçük parçalara böl
2. Eskileri sıkıştır
3. Çok eskileri sil

🔧 LOGROTATE’IN 4 BÜYÜK GÖREVİ

1. LOGLARI KÜÇÜK PARÇALARA BÖLMEK

# 📊 “Büyük log dosyasını küçük parçalara ayır”
# Örnek: 10GB’lık log → 10 tane 1GB’lık log

# Neden? → Büyük dosyaları okumak/zor

2. ESKİ LOGLARI SIKIŞTIRMAK

# 🗜️ “Eski logları sıkıştır, yer kazan”
# Örnek: 1GB log → 100MB .gz dosyası

# Neden? → Disk tasarrufu

3. ÇOK ESKİ LOGLARI SİLMEK

# 🗑️ “Bell bir süre geçen logları temizle”
# Örnek: 30 günden eski logları sil

# Neden? → Disk dolmasın

4. LOGLARI YENİDEN OLUŞTURMAK

# 🔄 “Log dosyasını sıfırla, yeniden başlat”
# Örnek: Apache logunu temizle, yeni log tutmaya başla

# Neden? → Sürekli büyümesin

🎯 LOGROTATE NASIL ÇALIŞIR?

# 📅 Günlük cron job’ı:
1. Her gece çalışır
2. Tüm log dosyalarını kontrol eder
3. Kurallara uyanları işler
4. Rapor oluşturur

🔧 TEMEL LOGROTATE AYARLARI

# 📅 Ne sıklıkta rotate yapılacak?
daily # Her gün
weekly # Her hafta 
monthly # Her ay
size 100M # 100MB olunca

# Örnek: 
/var/log/apache2/access.log {
 daily # Her gün rotate yap
}

2. SAKLAMA AYARLARI

# 💾 Kaç eski log saklanacak?
rotate 7 # 7 eski log tut
rotate 30 # 30 eski log tut

# Örnek:
/var/log/apache2/access.log {
 rotate 7 # 1 yeni + 7 eski = 8 log dosyası
}

3. SIKIŞTIRMA AYARLARI

# 🗜️ Sıkıştırma yapılsın mı?
compress # Sıkıştır
delaycompress # Bir rotate beklet, sonra sıkıştır
nocompress # Sıkıştırma

# Örnek:
/var/log/apache2/access.log {
 compress # .gz yap
}

# 🗜️ Sıkıştırma yapılsın mı?
compress # Sıkıştır
delaycompress # Bir rotate beklet, sonra sıkıştır
nocompress # Sıkıştırma

# Örnek:
/var/log/apache2/access.log {
 compress # .gz yap
}

4. DİĞER AYARLAR

# 🔄 Dosyayı nasıl yönetecek?
missingok # Dosya yoksa hata verme
notifempty # Boş dosyayı rotate etme
create 644 root root # Yeni dosyayı oluştur ve izin ver
postrotate # Rotate sonrası komut çalıştır

ÖRNEK

# /etc/logrotate.d/mysql
/var/log/mysql/*.log {
daily
rotate 7
compress
missingok
notifempty
nocreate # MySQL kendi oluştursun
postrotate
/etc/init.d/mysql reload > /dev/null
endscript
}

Bir yanıt yazın

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