Linux Logrotate Yapılandırması ile Disk Alanını Optimize Edin
Linux sunucularında çalışan servisler (Nginx, Apache, MySQL, Mail vb.) gerçekleştirdikleri her işlemi log dosyalarına kaydeder. Zamanla bu log dosyaları gigabaytlarca boyuta ulaşarak sunucu diskinin tamamen dolmasına yol açabilir. Logrotate, bu log dosyalarını günlük, haftalık veya aylık periyotlarla otomatik olarak döndüren, sıkıştıran (.gz formatına getiren) ve çok eskiyen logları silen yerleşik bir Linux servisidir.
1. Logrotate Yapılandırma Dosyaları
Logrotate ana yapılandırma dosyası /etc/logrotate.conf dizininde bulunur. Servis bazlı özel kurallar ise /etc/logrotate.d/ klasörü altında saklanır. Örneğin Nginx için bir logrotate kuralı inceleyelim:
/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 nginx adm
sharedscripts
}
2. Kritik Parametrelerin Açıklaması
- **daily / weekly:** Logların ne sıklıkla döndürüleceğini belirler.
- **rotate 14:** Sunucuda maksimum 14 adet eski log dosyasının saklanacağını belirler. 15. günün logu geldiğinde en eski log silinir.
- **compress:** Eski log dosyalarını yer kazanmak için Gzip ile sıkıştırır.
- **notifempty:** Eğer log dosyası boşsa döndürme işlemi yapmaz.
3. Logrotate'i Manuel Tetikleme
Yeni yazdığınız kuralların çalışıp çalışmadığını test etmek için logrotate servisini manuel olarak çalıştırabilirsiniz:
logrotate -f /etc/logrotate.conf
Disk doluluğu gibi sunucu bakım süreçlerinde sorun yaşıyorsanız, uzman kadromuzun sunduğu Sunucu Destek Hizmetleri paketlerimizi inceleyebilir, limitsiz disk yapılandırmalı VDS Kiralama çözümlerimizden yararlanabilirsiniz.