Temizlik Betiğini OluşturmaÖnce bir betik dosyası oluşturuyoruz.
Kod: Tümünü seç
sudo nano /etc/local/bin/logcleaup.sh
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.
Kod: Tümünü seç
#!/bin/bash
find /var/log -name "*.gz" -type f -exec rm {} \;
journalctl --vacuum-time=7days
Dosyamızı kaydediyoruz ve sonrasında çalıştırma yetkisi veriyoruz.
Kod: Tümünü seç
sudo chmod +x /usr/local/bin/logcleanup.sh
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.
Kod: Tümünü seç
sudo nano /etc/systemd/system/logcleanup.service
İç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.
Kod: Tümünü seç
[Unit]
Description=Log cleanup service
[Service]
Type=simple
ExecStart=/usr/local/bin/logcleanup.sh
[Install]
WantedBy=default.target
Sonrasında artalan hizmetini yeniden yükleyip servisi etkinleştiriyoruz.
Kod: Tümünü seç
sudo systemctl daemon-reload && sudo systemctl enable logcleanup.service
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.
Kod: Tümünü seç
sudo systemctl start logcleanup.service
Servisin çalışma durumunu merak ediyorsanız aşağıdaki komut işinizi görecektir.
Kod: Tümünü seç
sudo systemctl status logcleanup.service
Oluşturan Servisi YönetmekServis Re-Start :
Kod: Tümünü seç
sudo systemctl restart logcleanup.service
Servis Devredışı :
Kod: Tümünü seç
sudo systemctl disable logcleanup.service
Oluşturulan Servisi Sistem'den Silme :
Kod: Tümünü seç
sudo rm /etc/systemd/system/logcleanup.service && sudo systemctl daemon-reload
Oluşturulan Betik Dosyasının Sistem'den Kaldırılması :
Kod: Tümünü seç
sudo rm /usr/local/bin/logcleanup.sh
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.
Kod: Tümünü seç
sudo journalctl --vacuum-size=1024M
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.
Kod: Tümünü seç
sudo nano /etc/systemd/journald.conf
#SystemMaxUse=1024M olarak ayarla
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.
Kod: Tümünü seç
sudo systemctl restart systemd-journald
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....