# logrotate

> logrotate aracının ne iş yaptığı, /etc/logrotate.conf ve /etc/logrotate.d üzerindeki yapılandırmasının nasıl çalıştığı ve bir kuralın güvenli bir şekilde nasıl test edileceği.

logrotate, diskleri doldurmamaları için günlük dosyalarını döndüren, sıkıştıran ve kaldıran bir Linux aracıdır. Genellikle bir systemd zamanlayıcısı veya cron görevi tarafından günde bir kez çalıştırılır; /etc/logrotate.conf dosyasını ve /etc/logrotate.d/ içindeki paket başına kuralları okur.

## Tipik bir kural

Bir kural; bir veya daha fazla günlük dosyası ile daily veya weekly (ne sıklıkta), rotate 7 (kaç eski dosyanın saklanacağı), compress (eski dosyaları gzip ile sıkıştırma), missingok (dosya yoksa hata vermeme), notifempty (boş günlükleri atlama) ve postrotate ... endscript (döndürme işleminden sonra çalıştırılacak komut, örneğin günlüğü yeniden açmak için) gibi yönergeleri adlandırır.

## copytruncate

Bazı programlar aynı açık dosyaya yazmaya devam eder. copytruncate, dosyayı taşımak yerine günlüğü kopyalar ve ardından orijinalini kısaltır; böylece program dosya tanıtıcısını korur, ancak kopyalama sırasında yazılan birkaç satır kaybolabilir.

## Test Etme

'logrotate -d /etc/logrotate.conf' komutu hata ayıklama modunda çalışır ve yalnızca ne yapılacağını yazdırır. '-f' ise zamanı gelmemiş olsa bile bir döndürmeyi zorlar.

## Kural ekleme ve test etme

1. /etc/logrotate.d/myapp dosyasını günlük yolu ve weekly, rotate 4, compress, missingok, notifempty gibi yönergelerle oluşturun.
2. Ön çalışma: sudo logrotate -d /etc/logrotate.d/myapp
3. Çıktı doğru görünüyorsa, tek bir döndürmeyi zorlayın: sudo logrotate -f /etc/logrotate.d/myapp
4. Sonucu kontrol edin: günlük dizininde ls -l çalıştırın.

## Dikkat

- Yanlış bir yol kalıbı, diğer programların günlüklerini döndürebilir veya silebilir.
- systemd journal tarafından yönetilen günlükler logrotate tarafından değil, journald.conf içinde sınırlandırılır.

## Kaynaklar

- [logrotate(8)](https://man7.org/linux/man-pages/man8/logrotate.8.html)
- [logrotate(8) (Debian)](https://manpages.debian.org/bookworm/logrotate/logrotate.8.en.html)

Son güncelleme: 2026-10-08
URL: https://raincleaner.eu/tr/wiki/linux/logrotate
