特定のユニットに対してのみJournalctlエントリを消去する方法は?

特定のユニットに対してのみJournalctlエントリを消去する方法は?

私はPythonスクリプトを作成し、そのためのシステム単位ファイルを作成するのに数日を費やしました。テスト中、スクリプトはログに多くのエラーを記録しました。これでこれが完了したので、ログからこれらのエラーを消去したいと思います。

以下のようにログ全体を消去する方法はいくつかあります。Journalctlをクリアする方法 using を含むjournalctl --vacuum-time=2dusingjournalctl --vacuum-size=500Mと temporary はSystemMaxUse=/etc/systemd/journald.conf で非常に低い値に設定されます。

これらはすべてログを消去し、すべてのデバイスに影響を与えるようです。単一セルの項目だけを消去するだけです。可能ですか?

ベストアンサー1

私のPython 3プログラムを使うcopylog.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

おすすめ記事