GNU/Linux Sistemlerinde Arşivlenmiş Log Dosyalarını Temizleme
Gönderilme zamanı: 18 Şub 2025 02:49
Temizlik Betiğini OluşturmaÖnce bir betik dosyası oluşturuyoruz.Sonra içine istediğimiz kodları ekliyoruz.Şahsen ben yedi günden eski logları vakum ile temizlemeyi tercih ettim. Varsa rotate ile dönüştürülmüş sıkıştırılmış dosyaları da arayıp bulup silsin istedim.
Dosyamızı kaydediyoruz ve sonrasında çalıştırma yetkisi veriyoruz.Bu aşamada elimizde sadece betik var. Şimdi bunu bir systemd servisine dönüştürelim.Temizlik Servisini OluşturmaServis için gereken dosyayı oluşturuyoruz.
İçine betiğimizle ilgili tanımlamaları ekliyoruz. Burada servisimiz bilgisayar her başlatıldığında yeniden çalıştırılacak. Sonuçta kişisel bilgisayarım olduğu için günde en az bir defa kapatıp açıyorum.Sonrasında artalan hizmetini yeniden yükleyip servisi etkinleştiriyoruz.Aşağıdaki gibi bir mesaj görünecektir.Created symlink /etc/systemd/system/default.target.wants/logcleanup.service → /etc/systemd/system/logcleanup.service
Artık servisi başlatabiliriz.Servisin çalışma durumunu merak ediyorsanız aşağıdaki komut işinizi görecektir.Oluşturan Servisi YönetmekServis Re-Start :Servis Devredışı :Oluşturulan Servisi Sistem'den Silme :Oluşturulan Betik Dosyasının Sistem'den Kaldırılması :Alternatif yöntem olarak loglama ayarlarını düzenlemek mümkünsür.Bu komut, sistem günlüklerini (journal logs) son 7 günden daha eski olanları siler. Yani, yalnızca son 7 gün içindeki günlük kayıtları saklanır.
Bu komut, sistem günlüklerinin toplam boyutunu 1024 MB ile sınırlar. Eğer günlüklerin boyutu 1024 MB'ı aşarsa, en eski kayıtlar silinerek boyut bu sınırda tutulur.
Bu komut, sistem günlüklerinin en fazla 100 dosya ile sınırlı olmasını sağlar. Eğer günlük dosyası sayısı 100'ü aşarsa, en eski dosyalar silinerek bu sınır korunur.
Bu komut, journald yapılandırma dosyasını (journald.conf) düzenlemek için nano metin düzenleyicisini açar. Burada, günlüklerin maksimum kullanımını ayarlamak için SystemMaxUse=1024M satırını ekleyebilirsiniz.
Bu komut, systemd-journald servisini yeniden başlatır. Yapılandırma dosyasında yapılan değişikliklerin etkili olabilmesi için bu adım gereklidir.
Bu komut, sistem günlüklerinin disk üzerindeki toplam kullanımını gösterir. Günlüklerin ne kadar yer kapladığını öğrenmek için kullanılır.
Bu komutlar, sistem günlüklerinin yönetimi ve depolama alanının verimli kullanımı için kullanılır.
Kaynak : Anonim....
Kod: Tümünü seç
sudo nano /etc/local/bin/logcleaup.sh
Kod: Tümünü seç
#!/bin/bash
find /var/log -name "*.gz" -type f -exec rm {} \;
journalctl --vacuum-time=7days
Kod: Tümünü seç
sudo chmod +x /usr/local/bin/logcleanup.sh
Kod: Tümünü seç
sudo nano /etc/systemd/system/logcleanup.service
Kod: Tümünü seç
[Unit]
Description=Log cleanup service
[Service]
Type=simple
ExecStart=/usr/local/bin/logcleanup.sh
[Install]
WantedBy=default.target
Kod: Tümünü seç
sudo systemctl daemon-reload && sudo systemctl enable logcleanup.service
Artık servisi başlatabiliriz.
Kod: Tümünü seç
sudo systemctl start logcleanup.service
Kod: Tümünü seç
sudo systemctl status logcleanup.service
Kod: Tümünü seç
sudo systemctl restart logcleanup.service
Kod: Tümünü seç
sudo systemctl disable logcleanup.service
Kod: Tümünü seç
sudo rm /etc/systemd/system/logcleanup.service && sudo systemctl daemon-reload
Kod: Tümünü seç
sudo rm /usr/local/bin/logcleanup.sh
Kod: Tümünü seç
sudo journalctl --vacuum-time=7d
Kod: Tümünü seç
sudo journalctl --vacuum-size=1024M
Kod: Tümünü seç
sudo journalctl --vacuum-files=100
Kod: Tümünü seç
sudo nano /etc/systemd/journald.conf
#SystemMaxUse=1024M olarak ayarla
Kod: Tümünü seç
sudo systemctl restart systemd-journald
Kod: Tümünü seç
sudo journalctl --disk-usage
Kaynak : Anonim....