
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
それは正しくないが、うまくいった。