Loglama Kardeşim
Kişisel bilgisayarımda (Fedora 43) günlüklerin birikmesinden yana pek bir sıkıntım olmadı. Şimdiye kadar günlük dolduğu için çalışmamazlık da etmedi. Yine de masaüstünde çöp kutusunun dolu görünmesi gibi bir dürtü arada olmuyor da değildi.
Günlük Nedir
Günlük nedir, neden önemlidir, nereden gelir nereye gider vs siz zaten biliyorsunuz. Anlatmaya gerek yok.
Günlük Boyutunu Öğrenme
Hemen silmeye başlamak güzel olurdu fakat önce ne kadar günlük birikmiş bir görelim.
Aşağıdaki komut ne kadar günlük biriktiğini öğrenmemizi sağlar.
journalctl --disk-usage
“Archived and active journals take up 56M in the file system.”
Yeni günlük temizliği yaptığım için çok az bir günlük boyutu gösterdi.
Günlük Temizliği
Birikmiş systemd günlükleri vakumlamak yani temizlemek için journalctl bize 3 seçenek sunuyor.
Zaman Bazlı Temizlik
Aşağıdaki komut 2 günden eski günlükleri temizler.
sudo journalctl --vacuum-time=2days
Boyut Bazlı Temizlik
Günlük dosyalarının boyutu seçenekte belirtilen 100M düzeyine düşene kadar eski günlükleri siler.
sudo journalctl --vacuum-size=100M
Dosya Sayısı Bazlı Temizlik
Belirtilen sayıda dosya bırakır. Gerisini siler.
sudo journalctl --vacuum-files=5
Bu işlemlerden sonra 2.2GB kadar günlükten kurtulmuş oldum.
Yine de bu 3 seçenek hakkında daha detaylı bilgi edinmekte yarar var. man belgelerinin online halini https://man7.org/linux/man-pages/man1/journalctl.1.html sayfasında bulmak mümkün. Yine de kolaylık olsun diye çevirilerinin bir kısmını şuraya bırakıyorum.
–vacuum-size=, –vacuum-time=, –vacuum-files=
–vacuum-size=, kullandıkları disk alanı belirtilen boyuttan daha az olana kadar en eski arşivlenmiş günlük dosyalarını siler. Normal “K”, “M”, ‘G’ ve “T” son eklerini kabul eder (1024 tabanında).
–vacuum-time= belirtilen süreden daha eski arşivlenmiş günlük dosyalarını kaldırır. Normal “s” (varsayılan), “m”, “h”, “days”, “weeks”, ‘months’ ve “years” son eklerini kabul eder.
–vacuum-files= yalnızca belirtilen sayıda ayrı günlük dosyasını bırakır.
Teşekkürler DeepL.com (free version)
Günlüklemeyi Azaltmak
journald günlüklerini sınırlamak için pek çok seçenek sunuluyor. Bunlar hakkında detaylı bilgi İngilizce olarak https://www.freedesktop.org/software/systemd/man/latest/journald.conf.html sayfasında bulunabilir. Kesin başka yerde de vardır. Mesela ArcWiki https://wiki.archlinux.org/title/Systemd/Journal sayfasında pek çok bilgiyi daha özet haliyle sunuyor.
Fedora altında journald dosyası /usr/lib/systemd/journald.conf konumda bulunuyor. Dosyayı düzenlemek yeterli. Yine de tavsiye edilen kullanım şekli /etc/systemd/journald.conf.d/ altında yeni bir ayar dosyası oluşturmak olduğundan o yolu izliyoruz.
Kendi ayar dosyamızı oluşturalım.
sudo mkdir /etc/systemd/journald.conf.d/ sudo nano /etc/systemd/journald.conf.d/00-journald.conf
Dosyamızın içeriği de şu şekilde ayarlayıp kaydediyoruz.
[Journal] SystemMaxUse=100M
Ayarların etkili olabilmesi için servisi yeniden başlatıyoruz.
sudo systemctl restart systemd-journald
Bakalım günlüklerin disk kullanımı hangi düzeye düşmüş.
journalctl --disk-usage
Dipnot: Log kelimesi için Günlük çevirisini yaygın olarak kullandığımızdan elden geldiğince çeviriye sadık kalmaya çalıştım.
Kaynakça
– https://wiki.archlinux.org/title/Systemd/Journal
– https://www.baeldung.com/linux/systemd-journal-logs-clear
– https://www.freedesktop.org/software/systemd/man/latest/journald.conf.html