Loglar sunucunuzda çok fazla yer kaplıyor. Bunu nasıl düzeltebilirim?
Çoğu günlük dosyası /var/log dizininde saklanır, ancak bunlarla sınırlı değildir. Bu bölümde açıklanan ilkeler, sunucunuzdaki herhangi bir dizindeki tüm *.log dosyaları için geçerlidir.
Günlükler, sunucu olayları hakkında bilgi depolayan dosyalardır: uygulama ve işletim sistemi etkinliği, çeşitli hatalar, web sitelerine yapılan kullanıcı istekleri ve daha fazlası. Zamanla, özellikle yoğun yük altında veya yazılım hataları varsa, günlükler önemli miktarda disk alanı kaplayabilir.
Günlük** dosyalarının kritik bir yönü, çoğu durumda bunları silmenin, bunları üreten program için sorunlara neden olabilmesidir - bu bir web sunucusu veya hatta işletim sisteminin kendisi olabilir.
Ek olarak, günlükler genellikle sunucunuzdaki yazılım sorunlarını belirlemeye yardımcı olabilecek ve daha büyük sorunları önleyebilecek değerli tanılama bilgileri içerir. Bu nedenle, onlarla düzgün ve dikkatli bir şekilde ilgilenmek önemlidir.
Temizlenebilecek günlükleri nasıl belirlerim
Sunucudaki büyük günlükleri bulmak için ncdu kullanın. Bir günlük dosyası olağandışı derecede büyükse, son girişlerini kontrol edin:
sudo tail /path/to/log
Anormallik yoksa, günlüğün yalnızca eski olması nedeniyle mi büyüdüğünü belirlemek için dosyanın başına bakın (en eski girişlerin tarihine dikkat edin):
sudo head /path/to/log
Bundan sonra, dosyayı temizlemeye devam edebilirsiniz.
Eğer günlük dosyasının neden bu kadar büyüdüğünden emin değilseniz, onu kaydetmek ve açıklama için barındırma sağlayıcınızın destek ekibiyle iletişime geçmek daha iyidir.
Günlükleri güvenli bir şekilde nasıl temizlerim
truncate komutu, bir dosyayı silmeden içeriğini temizler:
sudo truncate -s 0 /var/log/nginx/error.log
*.log uzantısı olmamasına rağmen bunun günlükler olduğunu belirten dosyalara ayrı olarak dikkat edin:
- /var/log/btmp
- /var/log/syslog
- /var/log/messeges
- /var/log/secure
- /var/log/maillog
Bu dosyalar da truncate komutu kullanılarak güvenli bir şekilde temizlenebilir.
Özel bir durum, /var/log/journal dizininde bulunan günlüktür. Onunla çalışmak hakkında daha fazla ayrıntıyı ayrı bir makalede bulabilirsiniz.
Günlüklerin aşırı büyümesini nasıl önlerim
Günlükleri analiz ederken, bazılarının şöyle adlara sahip olduğunu fark edebilirsiniz:
- syslog.1
- siteadi.erişim.log.1
Bunlar, örneğin logrotate programı kullanılarak günlük rotasyonu uygulandığında görünür. Eski dosyalar döndürme sırasında silinebilir veya sıkıştırılabilir, bu da disk alanından tasarruf sağlar.
Bu mekanizmanın yapılandırılması hakkında daha fazla bilgiyi ayrı bir makalede okuyabilirsiniz.