Logrotate Servisi
Logrotate Linux kerneli, syslog ve diğer yazılımlar tarafından oluşturulan SYSLOG formatındaki logların arşivlenmesi ve zaman içerisinde belirlenen sürede yok edilmesini sağlar. Bu şekilde hem loglarınız yer kaplamayacak şekilde sıkıştırılır hem de logların genişlemesinden dolayı oluşabilecek arızaların önüne geçilmiş olur.
Logrotate çoğu sistemde önyüklü olarak gelmektedir, RedHat, Fedora ve CentOS sistemlerde şu komutla paketin var olup olmadığını görüntüleyebilirsiniz:
Kişisel rotasyon ayar dosyalarınızı /etc/logrotate.d dizini altına koyabilirsiniz, /etc/logrotate.conf güncellemeler tarafından değiştirilebileceği için kişisel kodlarımızı bu dosya içerisine koymaktan kaçınmalıyız.
Web sunucunuz tarafından üretilen log dosyalarının rotasyonunu tüm kullanıcılar için şu şekilde ayarlayabilirsiniz:
bu komut dizisi ile logrotate /home/ altındaki tüm kullanıcıların ~/log/ dizini altındaki tüm *.log uzantılı dosyaları günde bir defa rotasyona sokacaktır, toplamda 8 adet sıkıştırılmış rotasyon oluşturulacak ve rotasyon tamamlandığında apache graceful şekilde yeniden başlatılacaktır.
FreeBSD sistemlerde ise sisteme entegre olarak çalışan newsyslog yapılandırması ile log dönüşümü sağlanır, /etc/newsyslog.conf içerisinde log dönüşümü sağlanan dosya isimlerini görebilirsiniz:
[owner:group]: istenirse bu kısıma kullanıcı ve grup bilgisi yazılabilir
mode: oluşturulacak dosyanın modunu temsil eder, güvenlik nedeniyle log dosyalarının sahibini [root:root] yapıp modu da 600 yaparsanız, bu dosyaları sadece root okuyabilir.
count: Geri dönük kaç adet log dosyası tutulacağını ifade eder, Hosting ortamında maillog ve httpd loglarının iki sene tutulmasında fayda vardır, bu nedenle bu değeri 730 olarak ayarlayabilirsiniz. Diğer dosyalarda bir hafta (7) yeterli olacaktır.
size: Eğer dosyanın boyutu burada belirtilen değerin üzerindeyse (kB) rotasyon yapılır, * bu değeri göz ardı et demektir.
when: bir önceki niceliğe skalar bir değer verdiyseniz, örneğin 100 kB, bu değer için () kullanabilirsiniz, bir önceki değer () ise bu değer ISO 8601 standardında aşağıdakilerden biri olabilir:
flags:
C: dosya olmayabilir, yoksa oluştur
J: Dosyayı sıkıştır (bzip ile)
X: Dosyayı sıkıştır (xz ile)
Z: Dosyayı sıkıştır (gzip kullanılır | tavsiye edilir)
[/pid_file]: log rotasyonu tamamlandığında logu üreten prosesin sinyallenmesi gerekiyorsa, prosesin pid bilgisi buraya yazılır, örneğin: /var/run/pflogd.pid
Last updated