Logrotate ile Sunucu Log Dosyalarını Kontrol Altında Tutun
Aktif bir web sunucusunda Apache, Nginx, MySQL ve sistem log dosyaları her gün megabaytlarca büyüyebilir. Kontrol altına alınmayan loglar zamanla diskinizi doldurarak sunucunuzun çökmesine neden olabilir. Linux'un yerleşik logrotate aracı, bu log dosyalarını belirli boyuta veya zaman aralığına göre otomatik olarak böler, sıkıştırır ve eskilerini siler.
1. Logrotate'in Çalışma Mantığı
Logrotate, her gün gece /etc/cron.daily/logrotate betiği aracılığıyla çalışır. /etc/logrotate.conf ve /etc/logrotate.d/ dizinindeki yapılandırma dosyalarını okuyarak hangi logların nasıl yönetileceğini belirler.
2. Nginx için Özel Logrotate Yapılandırması
Nginx logları için özel bir yapılandırma dosyası oluşturun:
nano /etc/logrotate.d/nginx
/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 nginx adm
sharedscripts
postrotate
nginx -s reopen
endscript
}
Bu yapılandırma; logları günlük döndürür, 14 günlük geçmişi tutar, sıkıştırır ve Nginx'i logları yeniden açmaya zorlar.
3. Yapılandırmayı Test Etme
logrotate --debug /etc/logrotate.d/nginx
NVMe SSD hızında disk I/O sunan VDS Sunucu paketlerimizi inceleyebilir, log yönetimi konusunda Teknik Destek ekibimizden yardım alabilirsiniz.