journalctlをクリアする方法

journalctlをクリアする方法

Google で systemd ジャーナルをクリアする安全な方法を見つけることができませんでした。安全で信頼できる方法をご存知の方はいらっしゃいますか?

たとえば、何か実験していて、ログがさまざまなエラー メッセージで乱雑になったとします。さらに、Conky を使用してデスクトップにジャーナルを表示しています。これらのエラーは、この問題を解決していたひどい日を思い出させるので、本当に見たくないです。この恐ろしい出来事の後は、すっきりした気分になりたいです。これはログをクリアする正当な理由であることに、誰もが同意すると思います :P 。

答え1

セルフメンテナンスの方法は、サイズまたは時間に応じて丸太を掃除機で掃除することです。

過去 2 日間のみ保持:

journalctl --vacuum-time=2d

過去 500 MB のみ保持:

journalctl --vacuum-size=500M

man journalctl詳細については。

答え2

通常、ジャーナルを自分でクリアすることはありません。これは systemd 自体によって管理され、新しいデータが入ってくると古いログは削除されます。正しい方法は、必要なデータだけを保持するように journald をスケジュールすることです。調整する最も一般的なことは、占有が許可されるディスク領域の合計です。この境界を越えると、古いエントリがこの値に近づこうとします。

これを設定できるのは/etc/systemd/journald.confそのようです:

SystemMaxUse=100M

これは、journald サービスの次回の再起動または再起動時に適用されます。

$ systemctl restart systemd-journald

答え3

マイケルの答え1 つ欠けているものがあります。バキューム処理ではアーカイブされたジャーナル ファイルのみが削除され、アクティブなファイルは削除されません。すべてを削除するには、まずファイルをローテーションして、最近のエントリが非アクティブなファイルに移動されるようにする必要があります。

だから、削除するための完全な答えは全てエントリーは

sudo journalctl --rotate
sudo journalctl --vacuum-time=1s

journalctl(これを 1 つのコマンドに組み合わせることはできないことに注意してください。)

ちなみに、一部のディストリビューションでは journald がログをディスクに書き込むように設定されています ( /var/log/journal)。また、他のディストリビューションではログをメモリに保持します ( )。場合によっては、最初に を使用してすべてを削除する/run/log/journal必要があると思います。sudo journalctl --flush

お使いのバージョンにない場合は、引数を使用してエントリをフィルタリング--rotateできます。--since

--since "2019-01-30 14:00:00"
--since today

答え4

と は--vacuum-time--vacuum-sizeもしてくれなかったので、私は次のことを行いました。

$ sudo find /var/log/journal -name "*.journal" | xargs sudo rm 
$ sudo systemctl restart systemd-journald

それは正しくないが、うまくいった。

関連情報