systemd サービスはログを自動的に管理しますか (ログのローテーションなどを行いますか)

systemd サービスはログを自動的に管理しますか (ログのローテーションなどを行いますか)

systemd サービスは次のように構成されています:

[Unit]
Description=cprev agent
After=network.target
StartLimitIntervalSec=2

[Service]
Type=simple
Restart=always
RestartSec=15
ExecStart=/home/oleg/.local/bin/cprev-safe-start

[Install]
WantedBy=default.target

次のようにサービスをインストールします。

rsync "$PWD/systemd.service" "$HOME/.config/systemd/user/cprev.agent.service"
systemctl --user daemon-reload
systemctl --user enable cprev.agent.service
systemctl --user restart cprev.agent.service

次のコマンドを使用して、サービスのログを tail できます。

journalctl -f --user -u cprev.agent.service

私の質問は、サービスのログがいっぱいにならないように手動で切り捨てる必要があるのか​​、それとも systemd がログを管理してくれるのかということです。管理してくれる場合、どのように動作するのでしょうか。

答え1

systemdのドキュメントによると、ログはjournaldデフォルトでディスク容量の 15% または 4GB のいずれか小さい方のサイズ制限で保存されます。/varがマウントされていない、書き込み不可、または/var/log/journal存在しない場合、ログは揮発性メモリ ( )journaldにのみ保存されます。/run/log/journal

サービスがsystemdジャーナルの外部に独自のログファイルを作成する場合は、ログローテートそれらを管理するためのエントリ。

関連情報