Як очистити записи журналу лише для певної одиниці?


19

Я витратив кілька днів на написання сценарію python та створення файлу системного блоку для нього. Під час тестування сценарій зафіксував багато помилок для журналу. Я хотів би очистити ці помилки з журналу тепер, коли я закінчую.

Існує кілька способів очистити весь журнал, як описано тут: Як очистити journalctl, включаючи використання journalctl --vacuum-time=2d, використання journalctl --vacuum-size=500Mта тимчасове встановлення SystemMaxUse=в /etc/systemd/journald.conf до дуже низького значення.

Все це, здається, очищає весь журнал, впливаючи на всі підрозділи. Мені просто потрібно очистити записи для однієї одиниці. Чи можливо це?


Можливий підхід полягає в написанні програми, використовуючи функції журналу libsystemd, щоб переписати файл журналу без записів, які потрібно видалити.
Матіас Рав

Відповіді:


6

Використовуйте мою програму Python 3 copy_journal.py для файлів журналу, /var/log/journalз яких ви хочете видалити записи.

Наприклад, зробити копію system.journalбез записів журналу для 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, "Вихідні дані перемежовуються з усіх доступних файлів журналу, незалежно від того, чи вони повернені чи в даний час пишуться".

Однак ви можете відфільтрувати його за допомогою одиниці - 'journalctl -u some.service', а потім спробувати видалити записи журналу з журналу за допомогою власного сценарію за допомогою cron.


7
Здається, ви натякаєте на те, що є можливість видалити окремі записи журналу з журналу. Чи є такий? Це було б дуже корисно.
Тал
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.