Konuyu Okuyanlar: 1 Ziyaretçi

Bash ile Log Temizliği ve Rotasyon: find, xargs, logrotate Notları

Bash ile Log Temizliği ve Rotasyon: find, xargs, logrotate Notları
[Resim: attachment.php?aid=34]

Selamlar,

Lab ve küçük VPS'lerde loglar hızla şişiyor. journald'yi sınırlamak bir çözüm; klasik metin loglar için de Bash ile basit bakım şart. Bu konuda kendi cron'umda kullandığım güvenli kalıpları yazıyorum.

Konuda Anlatılacaklar
  1. find ile eski log bulma
  2. xargs tuzakları (boşluklu dosya adları)
  3. Sıkıştırma ve silme
  4. logrotate'a bırakmak daha doğru mu?
  5. Örnek cron

1) find Temelleri
Kod:
# Son 1 günde değişen .log dosyaları find /var/log -type f -name '*.log' -mtime -1 # 14 günden eski, boyutu 10M üstü find /var/log -type f -name '*.log' -mtime +14 -size +10M -ls

[-mtime +14] "14 tam günden eski", [-size +10M] "10 mebibayttan büyük" demek.

2) xargs ve Güvenli Silme
Kod:
# YANLIŞ: boşluklu isimde kırılır find /var/log -name '*.log' -mtime +30 | xargs rm # DOĞRU: null ayracı find /var/log -type f -name '*.log' -mtime +30 -print0 | xargs -0 rm -v # Daha da iyisi: find -delete (aynı süreçte) find /var/log -type f -name '*.log' -mtime +30 -delete

Silmeden önce [-ls] ile listeleyin. Üretimde körlemesine rm kullanmayın.

3) Sıkıştırma
Kod:
find /var/log -type f -name '*.log' -mtime +2 ! -name '*.gz' -print0 | xargs -0 gzip -9

gzip orijinali siler; .gz uzantılı dosyayı tekrar sıkıştırmamak için [! -name '*.gz'] şart.

4) logrotate Tercih Edin
Debian/Ubuntu'da /etc/logrotate.d/ altında servis bazlı kurallar vardır. Kendi uygulamanız için:

Kod:
/var/log/benimapp/*.log { weekly rotate 8 compress delaycompress missingok notifempty copytruncate }

Bash one-liner'lar acil temizlik içindir; uzun vadede logrotate + journald SystemMaxUse.

5) Örnek Cron
Kod:
# Her pazar 04:30 - 30 günden eski uygulama loglarını sıkıştır 30 4 * * 0 find /var/log/benimapp -type f -name '*.log' -mtime +30 -print0 | xargs -0 gzip -9

Kaynaklar
Alıntı:Yalnızca kendi sistemlerinizde kullanın.

Kapak: özgün TurkTeam görseli.


Ek DosyalarEkran Görüntüleri
   
Cevapla



Hızlı Menü: