私はraspberrypiマシンでyoctoベースのシステムでsystemdを使用しています。最近、メッセージをrsyslog.socketにリダイレクトするのに問題があり、rsyslog
完全に削除することにしましたjournald
。
これを行った後、ログファイルのサイズが以前に考えたよりもはるかに大きいことがわかりました。
root@rpiDev: ~ $ journalctl -o cat > /tmp/journals-cat.txt
root@rpiDev: ~ $ journalctl -o export > /tmp/journals-exp.txt
root@rpiDev: ~ $ journalctl -o verbose > /tmp/journals-verb.txt
root@rpiDev: ~ $ journalctl -a -m > /tmp/journals.txt ### This is what I need!
root@rpiDev: ~ $ journalctl -a -m -o verbose > /tmp/journals-everything.txt
root@rpiDev: ~ $ du -sh /tmp/journals* /var/log/journal/ ; journalctl --disk-usage
468.0K /tmp/journals-cat.txt
15.7M /tmp/journals-everything.txt
4.7M /tmp/journals-exp.txt
4.9M /tmp/journals-verb.txt
2.3M /tmp/journals.txt
41.0M /var/log/journal/
Archived and active journals take up 12.5M on disk.
サイズを比較すると、ジャーナルが生成したバイナリはmerge()ジャーナルよりはるかに大きいようです-m
。
私にとって本当に必要なのは、その中に入っていることです/tmp/journals.txt
。
質問:
ログがバイナリに保存するコンテンツの量を実行時に私が知っているレベルに減らすことは可能ですかjournalctl -a -m
?
つまり、私にとって重要ではないすべての情報の保存を無効にし、Journaldをsyslogのように使用できますか?
ログの永続保存を無効にしてsyslogに渡すことで問題を解決できますが、rsyslogを再インポートすることなく可能ですか?
編集する:
一部のユーザーが言及したパラメータはここでは役に立ちませんでした。
- 保存したファイルの最大サイズのみを使用し
SystemMaxUse=
てRuntimeMaxUse=
設定します。同じ量の不要な情報を含むより小さなファイルを持つことができるため、実際のログははるかに少なくなります。 MaxLevel...=
ログに保存される最大ログレベルを設定するために使用されます。ここでもそれは私に必要なものではありません。
編集2:
私の解決策:
私はsyslog(私が使用している)にログを保存することにしましたrsyslog
。私はJournald.confでおよびを
設定Storage=volatile
し、使用してジャーナルドのディスク使用量を制限しました。また、これを有効にすると、以前のsyslogソリューションが正しく機能し、ランタイムログも表示できるようになりました。SystemMaxUse=64M
RuntimeMaxUse=64M
ForwardToSyslog=yes
答え1
/etc/systemd/journald.conf
ログがメモリとディスクで使用できる領域を指定するには、編集してください。
man journald.conf
付属の設定の詳細な説明を参照してください。