Ana içeriğe geç

Loglar sunucunuzda çok fazla yer kaplıyor. Bunu nasıl düzeltebilirim?

· 2 dakikalık okuma
Customer Care Engineer
bilgi

Ç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.

bilgi

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.