Spędziłem kilka dni, pisząc skrypt Pythona i tworząc dla niego plik jednostki systemowej. Podczas testowania skrypt zarejestrował wiele błędów w dzienniku. Chciałbym usunąć te błędy z dziennika teraz, kiedy skończyłem.
Istnieje kilka sposobów na wyczyszczenie całego dziennika, jak opisano tutaj: Jak wyczyścić dziennik, w
tym użycie journalctl --vacuum-time=2d
, użycie journalctl --vacuum-size=500M
i tymczasowe ustawienie SystemMaxUse=
w /etc/systemd/journald.conf bardzo niskiej wartości.
Wszystkie wydają się usuwać cały dziennik, wpływając na wszystkie jednostki. Muszę tylko wyczyścić wpisy dla jednej jednostki. czy to możliwe?
Odpowiedzi:
Użyj mojego programu Python 3 copy_journal.py na plikach dziennika,
/var/log/journal
z których chcesz usunąć wpisy.Na przykład, aby wykonać kopię
system.journal
bez wpisów w dzienniku dlaNetworkManager.service
:źródło
Nie sądzę, żeby było to możliwe, ponieważ według strony man czasopisma „Wyjście jest przeplatane ze wszystkich dostępnych plików dziennika, niezależnie od tego, czy są one obracane, czy są w trakcie pisania”.
Można go jednak przefiltrować według jednostki - „journalctl -u some.service”, a następnie spróbować usunąć wpisy dziennika z dziennika własnym skryptem za pomocą crona.
źródło