Ders 2.49: logrotate: günlüklerin diski doldurmasını önlemek
Metin günlükleri bir şey onları döndürmedikçe sonsuza dek büyür: mevcut dosyayı yeniden adlandırmak, yenisini başlatmak, eski kopyaları sıkıştırmak ve en eskisini silmek. Çoğu Linux sisteminde bu, bir systemd zamanlayıcısıyla her gün çalışan, /etc/logrotate.d'de uygulama başına bir yapılandırma dosyası olan logrotate'tir. Dolu bir disk hem bir kesinti hem bir güvenlik sorunudur; çünkü günlük yazamayan bir sunucu olanları kaydetmeyi bırakır. Laboratuvarda web02'nin diski neredeyse dolu; 2,4 GB'lık günlüğü buluyor, neden hiç döndürülmediğini keşfediyor, kuralı düzeltiyor, bir deneme çalıştırmasıyla test ediyor ve onu döndürüyorsun.
15 dk
Bu derste öğreneceklerin
- Günlük döndürmeyi açıklamak
- Bir logrotate yapılandırmasını okumak
- Ne olacağını görmek için logrotate -d kullanmak
- Bir günlüğün neden döndürülmediğini bulmak
- Döndürüp alanın boşaldığını doğrulamak
Temel terimler
- Döndürme
- Mevcut günlüğü yeniden adlandırmak (api.log → api.log.1), yenisini başlatmak ve en eski kopyaları kaldırmak.
- rotate N
- Kaç eski kopyanın tutulacağı.
- compress / delaycompress
- Eski kopyaları gzip ile sıkıştır; delaycompress en yeni kopya okunabilir kalsın diye bir döngü bekler.
- missingok
- Günlük yoksa hata bildirme.
- postrotate
- Döndürmeden sonra çalışan komutlar; genellikle hizmete günlük dosyasını yeniden açmasını söyler.
← Komut satırında yardım almak · Tüm dersler · Bellek sınırları ve OOM öldürücüsü →