Sadece belirli bir birim için journalctl girdilerini nasıl silebilirim?


19

Bir python betiği yazmak ve bunun için bir systemd birim dosyası oluşturmak için birkaç gün geçirdim. Test sırasında, script dergiye birçok hata kaydetti. İşi bitirdiğim için dergi hatalarını gidermek istiyorum.

: Burada açıklandığı gibi tüm dergi temizlemek için çeşitli yollar vardır ne kadar açıktı journalctl için kullanılması dahil olmak journalctl --vacuum-time=2dkullanılarak journalctl --vacuum-size=500Mve geçici ayarı SystemMaxUse=çok düşük değere /etc/systemd/journald.conf içinde.

Bunların tümü tüm birimleri temizleyerek tüm birimleri etkiliyor gibi görünüyor. Sadece tek bir birimin girdilerini temizlemem gerekiyor. Mümkün mü?


Olası bir yaklaşım, günlük girişini kaldırılmasını istediğiniz girdiler olmadan yeniden yazmak için libsystemd günlük işlevlerini kullanarak bir program yazmaktır .
Mathias Rav

Yanıtlar:


6

Girişleri kaldırmak istediğiniz günlük dosyalarında copy_journal.py Python 3 programımı kullan/var/log/journal .

Örneğin, aşağıdakiler için system.journalgünlük girişleri olmadan bir kopyasını oluşturmak için NetworkManager.service:

$ journalctl --file=system.journal | wc
    167    1934   18825
$ journalctl --file=system.journal | grep -v NetworkManager | wc
     77     881    8421
$ python3 copy_journal.py --remove-unit=NetworkManager.service system.journal system-without-nm.journal
$ journalctl --file=system-without-nm.journal | wc
     77     881    8421

-1

Journalctl man sayfasına göre "Çıktı döndürülmüş veya şu anda yazılıyor olsun tüm erişilebilir günlük dosyalarından serpiştirilir" diye düşünerek bunun mümkün olduğunu düşünmüyorum.

Ancak bunu bir birim ile filtreleyebilirsiniz - 'journalctl -u some.service' ve daha sonra günlük girişlerini cron kullanarak kendi komut dosyanızla günlükten kaldırmayı deneyebilirsiniz.


7
Tek tek günlük girişlerini dergiden silmenin bir yolu olduğunu ima ettiğiniz anlaşılıyor. Bir tane var mı? Çok yardımı dokunur.
Tal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.