Günlük Döndürme ve Arşivleme
Günlük dosyası boyutlarını yönetmek, diskin dolmasını önlemek ve verimli günlük arşivleme ilkeleri sağlamak için `logrotate` uygulayın.
Günlük Döndürme ve Arşivleme, CoddyKit'te ücretsiz bir Linux Server Deployment & SSH Mastery dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Linux Server Deployment & SSH Mastery öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Linux Server Deployment & SSH Mastery kursu toplamda 4 dersten oluşur.
Günlük döndürme neden önemlidir?
Sunucu günlükleri hata ayıklama ve izleme için gereklidir, ancak zaman içinde çok büyüyebilirler. Denetlenmeden bırakılırlarsa disk alanınızı hızla doldurarak sunucunun kararsızlaşmasına, hatta çökmesine yol açabilirler.
İşte bu noktada günlük döndürme devreye girer. Bu, günlük dosyası boyutlarını verimli biçimde yönetmek için kritik bir işlemdir.
`logrotate` yardımcı programına giriş
Linux sistemleri, günlük dosyalarının yönetimini otomatikleştirmek için logrotate adlı bir yardımcı program kullanır. Şunları yapmak üzere tasarlanmıştır:
- Günlükleri döndürmek (eskileri yeniden adlandırmak)
- Alan kazanmak için eski günlükleri sıkıştırmak
- Çok eski günlük dosyalarını kaldırmak
- Döndürme sonrasında özel betikleri çalıştırmak
Çoğu Linux dağıtımında logrotate önceden kuruludur ve bir cron işi aracılığıyla günlük çalışacak şekilde yapılandırılmıştır.
`logrotate` yönergeleri nasıl bulur?
logrotate, yapılandırmasını belirli dosyalardan okur. İki temel konum vardır:
/etc/logrotate.conf: Genellikle genel ayarları ve varsayılan değerleri içeren ana yapılandırma dosyası./etc/logrotate.d/: Uygulamaların ve hizmetlerin kendilerine özgü günlük döndürme kurallarını yerleştirdiği dizin. Bu dizindeki her dosya ayrı bir yapılandırma olarak değerlendirilir.
Bu modüler yaklaşım, farklı hizmetlere ait kuralları yönetmeyi kolaylaştırır.
Günlük döndürme sıklığını ayarlama
Tanımlanması gereken ilk şeylerden biri günlüklerin ne sıklıkta döndürüleceğidir. logrotate bunun için çeşitli yönergeler sunar:
daily: Günlükleri her gün döndürür.weekly: Günlükleri haftada bir döndürür.monthly: Günlükleri ayda bir döndürür.yearly: Günlükleri yılda bir döndürür.
Günlük ayrıntılarının saklanması ile disk alanı kullanımını dengeleyecek bir sıklık seçin.
Eski günlüklerin sayısını koruma
rotate yönergesi, en eskileri silmeden önce logrotate'ın kaç eski günlük dosyasını tutacağını belirtir. Örneğin rotate 4, geçerli günlük dosyasının yanı sıra döndürülmüş (arşivlenmiş) dört sürümün tutulacağı anlamına gelir.
Sınıra ulaşıldığında yeni bir döndürme gerçekleşirken en eski döndürülmüş günlük kaldırılır.
Eski Günlük Dosyalarını Sıkıştırma
Daha fazla disk alanı kazanmak için logrotate, eski günlük dosyalarını sıkıştırabilir. compress yönergesi, genellikle gzip kullanarak tam olarak bunu yapar.
Bu etkinleştirildiğinde, döndürülmüş günlükleriniz .gz dosyaları olarak görünür (örneğin myapp.log.1.gz). Bu, çoğu sunucu günlüğü için kesinlikle önerilir.
Yalnızca Zamana Göre Değil, Boyuta Göre de Döndürme
Bazen günlükler çok hızlı büyüyebilir ve günlük ya da haftalık döndürmeyi beklemek yeterli olmaz. size yönergesi, zaman aralığından bağımsız olarak günlükleri belirli bir dosya boyutunu aştıklarında döndürmenizi sağlar.
size 100k: Günlük dosyası 100 kilobayttan büyükse döndürür.size 10M: Günlük dosyası 10 megabayttan büyükse döndürür.size 1G: Günlük dosyası 1 gigabayttan büyükse döndürür.
Hem bir zaman aralığı (örneğin daily) hem de size belirtilirse, koşullardan herhangi biri karşılandığında döndürme gerçekleşir.
Örnek `logrotate` Yapılandırması
Varsayımsal bir uygulamanın günlük dosyası için /etc/logrotate.d/ içinde bulabileceğiniz basit bir yapılandırma dosyası örneği aşağıdadır:
Bu yapılandırma günlüğü günlük olarak döndürür, 7 eski kopyayı saklar ve bunları sıkıştırır.
/var/log/my_app/access.log {
daily
rotate 7
compress
notifempty
missingok
}
`logrotate` Komutunu Elle Çalıştırma
logrotate genellikle cron aracılığıyla otomatik olarak çalışsa da bir döndürmeyi elle sınayabilir veya zorlayabilirsiniz. Ana komut logrotate /etc/logrotate.conf şeklindedir.
Bir döndürmeyi zorlamak için (yapılandırmalarınızı sınamak amacıyla kullanışlıdır) -f seçeneğini kullanın:
logrotate -f /etc/logrotate.d/my_app: Belirli bir yapılandırma dosyası için döndürmeyi zorlar.logrotate -f /etc/logrotate.conf: Yapılandırılmış tüm günlükler için döndürmeyi zorlar.
Herhangi bir şeyi gerçekten döndürmeden ne yapacağını görmek için -d (hata ayıklama) seçeneğini kullanın.
Hızlı Kontrol: Günlük Saklama
Aşağıdaki logrotate yapılandırmasını inceleyin: /var/log/webserver/error.log:
/var/log/webserver/error.log {
weekly
rotate 4
compress
notifempty
}Bu yapılandırma birkaç haftadır çalışıyorsa, herhangi bir anda kaç tane sıkıştırılmış geçmiş günlük dosyası bulmayı beklersiniz?
Özet: Günlük Yönetiminde Uzmanlaşma
Bu derste, logrotate kullanarak sunucu günlüklerini etkili bir şekilde nasıl yöneteceğimizi inceledik. Şunları öğrendik:
- Günlük döndürme, diskin tamamen dolmasını önler.
logrotate,/etc/logrotate.confve/etc/logrotate.d/içindeki yapılandırma dosyalarını kullanır.- Önemli yönergeler arasında sıklık için
daily/weekly/monthly, saklama içinrotate, alan tasarrufu içincompressve koşullu döndürme içinsizebulunur.
Uygun günlük yönetimi, kararlı sunucu işletiminin temel taşlarından biridir!
Yapay zeka eğitmeniyle Linux Server Deployment & SSH Mastery öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 12
- Dersler
- 48
Sıkça Sorulan Sorular
“Günlük Döndürme ve Arşivleme” dersi ücretsiz mi?
Evet — “Günlük Döndürme ve Arşivleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Linux Server Deployment & SSH Mastery kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Linux Server Deployment & SSH Mastery kursu toplamda 4 dersten oluşur.
“Günlük Döndürme ve Arşivleme” dersinde ne öğreneceğim?
Günlük dosyası boyutlarını yönetmek, diskin dolmasını önlemek ve verimli günlük arşivleme ilkeleri sağlamak için `logrotate` uygulayın. Linux Server Deployment & SSH Mastery ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Linux Server Deployment & SSH Mastery öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Linux Server Deployment & SSH Mastery, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Günlük Döndürme ve Arşivleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Linux Server Deployment & SSH Mastery dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Linux Server Deployment & SSH Mastery dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Sistem İzleme Araçları
- Sistem Günlüklerini Anlama
- Günlük Döndürme ve Arşivleme
- Merkezî İzleme ve Uyarılandırma