Otomatik Günlük Döndürme ve Temizleme
logrotate ve zamanlanmış find tabanlı betiklerle günlük döndürme ve eski dosyaları temizleme işlemlerini otomatikleştirerek disklerinizi sağlıklı tutun.
Otomatik Günlük Döndürme ve Temizleme, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 4. 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, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Büyüyen Günlükler Sorunu
Uzun süre çalışan hizmetler sürekli günlük yazar. Yönetim olmadan diski doldurup sistemi çökertirler. Döndürme ve temizleme bunları kontrol altında tutar.
du -sh /var/log/*Günlük Döndürme Ne Yapar?
Döndürme, geçerli günlüğün adını değiştirir, yeni ve boş bir günlük başlatır ve sınırlı sayıda eski sıkıştırılmış kopyayı saklar.
- app.log, app.log.1 olur
- eski kopyalar gzip ile sıkıştırılır
- en eskiler silinir
logrotate'a Giriş
logrotate, /etc/logrotate.d/ altında tanımlanan boyuta veya yaşa göre döndürmeyi otomatikleştiren standart Linux aracıdır.
cat /etc/logrotate.confTemel logrotate Yapılandırması
Bir yapılandırma bloğu, günlük dosyalarını ve döndürme politikasını belirtir.
/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
}Yönergeleri Anlama
Yaygın yönergeler:
dailyher gün döndürürrotate 77 eski dosyayı saklarcompressdöndürülen günlükleri gzip ile sıkıştırırmissingokdosya yoksa atlar
Beklemeden Sınama
Bir çalıştırmayı -f ile zorlayın veya zamanlamaya güvenmeden önce yapılandırmayı doğrulamak için -d ile deneme çalıştırması yapın.
logrotate -d /etc/logrotate.d/myapp
logrotate -f /etc/logrotate.d/myapppostrotate Betikleri
Birçok hizmet eski dosya tanıtıcısını açık tutar. postrotate bloğu, döndürme sonrasında hizmete günlüğünü yeniden açmasını bildirir.
/var/log/myapp/*.log {
daily
postrotate
systemctl reload myapp
endscript
}find ile Eski Dosyaları Temizleme
Tek seferlik temizlik için -mtime ile birlikte find kullanarak N günden eski dosyaları bulup silebilirsiniz.
find /var/log/myapp -name "*.log" -mtime +30 -deleteGüvenli Bir Temizleme Betiği
Temizlemeyi, neyi sildiğini günlüğe kaydeden bir betiğe sarın; böylece denetim iziniz olur.
#!/bin/bash
DIR=/var/backups
find "$DIR" -name "*.tar.gz" -mtime +14 -print -delete \
>> /var/log/cleanup.log 2>&1Temizlemeyi Zamanlama
Döndürmeyi logrotate'a bırakın (zaten cron tarafından çalıştırılır) ve özel temizleme betiklerini kendi crontab girdinizle zamanlayın.
# crontab -e
30 2 * * * /usr/local/bin/cleanup.shDisk Kullanımını İzleme
Bir bölüm eşik değeri aştığında uyarı veren bir kontrol ekleyin; böylece temizlik hiçbir zaman çok geç çalışmaz.
USAGE=$(df --output=pcent / | tr -dc "0-9")
[ "$USAGE" -gt 90 ] && echo "Disk over 90%" | mail -s alert rootHızlı Kontrol
Otomasyon bilginizi sınayın.
Özet
Günlük bakımını otomatikleştirdiniz:
- logrotate,
rotate,compressvepostrotateile yaşa/boyuta göre döndürür -d/-file doğrulayın- Özel temizlik için
find -mtime +N -deletekullanın - Cron ile zamanlayın ve disk kullanımı uyarılarıyla kontrol edin
Sıkça Sorulan Sorular
“Otomatik Günlük Döndürme ve Temizleme” dersi ücretsiz mi?
Evet — “Otomatik Günlük Döndürme ve Temizleme” 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 DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Otomatik Günlük Döndürme ve Temizleme” dersinde ne öğreneceğim?
logrotate ve zamanlanmış find tabanlı betiklerle günlük döndürme ve eski dosyaları temizleme işlemlerini otomatikleştirerek disklerinizi sağlıklı tutun. DevOps Bootcamp 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.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, 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 4. dersidir.
“Otomatik Günlük Döndürme ve Temizleme” 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 DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp 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
- Cron ile Görev Zamanlama
- Sistem Yönetimini Otomatikleştirme
- İleri Düzey Betik Projesi
- Otomatik Günlük Döndürme ve Temizleme