Transmission loglarını kontrol altına almak.

Daha önceki yazılarımda eve torrent sunucusu kumak ile ilgili yazımı geliştirmeye devam ediyorum.

Gel zaman git zaman kurmuş olduğumuz transmission torrent sunucusunun log’unun şişmeye başladığını keşfettik. Sebebi ise transmission sunucusunun loglarının logrotate tarafından kontrol altına alınmaması.

Bu sorunu gidermek için “/etc/logrotate.d/” klasörü altına “transmission” adında bir dosya oluşturup içine aşağıdaki scripti eklememeiz yeterli:

/var/log/transmission.log {
su root root

monthly
rotate 3
compress

delaycompress
missingok
notifempty

create 644 debian-transmission debian-transmission

postrotate
invoke-rc.d transmission-daemon force-reload > /dev/null
endscript
}

Dosyayı kaydettikten sonrasında logrotate ile ilgili herhangi birşey yapmamıza gerek yok. Çünkü logrotate cronjob’a bağlı çalıştığı için her seferinde oyomatik olarak çalışıp “/etc/logrotate.d/” altındaki tüm dosyaların içeriğini çalıştırır.

Eğer hazırlamış olduğumuz bu scripti test etmek isterseniz komut satırında aşağıdaki komutu çalıştırıp herhangi bir hata olup olmadığını çıktılardan inceleyebilirsiniz:

# logrotate -fv /etc/logrotate.d/transmission

Yukarıdaki scriptin satıra açıklamalarını gelirsek:

  • su: scriptin, buna bağlı oluşturulacak dosyaların ve yaılacak işerin hangi kullanıcı tarafından yapılacağını belirtir.
  • monthly: transmission için logrotate’in ne akdar sürede bir uygulanacağını belirtir. Burada ayda bir ygulanmasını istedik.
  • rotate: rotate edilen dosyaların enfalza kaç tane olabileceğini belirtiyoruz. Daha eski logları tutabilmek içi bu rakamı arttırınız. Bu örnekte ayda bir rotasyon yapılacağı için en falza 3 ay geriye dönük logları görebiliriz.
  • compress: eski log dosyalarını sıkştırarak rotate eder.
  • delaycompress: Sıkıştırma işine gecikmeli başlamayı sağlar
  • missingok: Eğer rotate edilecek dosyalarda eksiklik varsa scriptin hata vermeden devam etmesini sağlar. Bu seçenek çıkartılırsa rotasyon eksik dosyadan dolayı hata verir ve yapılmaz.
  • notifempty: Eğer log dosyasının için boş ise gereksiz yere rotasyon yapmaz.
  • chmod: Oluşturulacak yeni dosyanın sahiplik ve erişim haklarını tanımlar
  • postrotate: hemen altındaki satırda yazılı olan komutları rotasyon işleminden sonra çalıştırır. Burada invoke ile transmission servisini yeniden başlatıyoruz.
Etiketler:  ,