Journalctl出力をsystemctl --userサービスからファイルにリダイレクトする方法は?

Journalctl出力をsystemctl --userサービスからファイルにリダイレクトする方法は?

systemd出力(バイナリstdout / stderrではありません。つまり、Journalctlに送信された実際のシステム出力を意味します)を特定のユーザー単位のファイルにリダイレクトする必要があります。

ユーザーが以下を使用してJournalctlを表示できることを知っています。

journalctl --follow --user -u userunit.service

ただし、これには/etc/systemd/journald.conf調整、ストレージ調整、およびStorage=persistent再起動が必要です。私たちはこれを行うことはできません。

バイナリのstdoutとsterrをファイルにリダイレクトする方法を知っています。セルのすべてのJournalctl出力を選択したファイルにどのようにリダイレクトしますか?

可能ですか?

編集する

これを基本的に行う方法はないようです。だから私はJournalctlのリダイレクトを実行するために別々のユニットを作成し、次はうまくいきました。

[Unit]
Description=redirect journalctl output for userunit to .log file

[Service]
ExecStart=/usr/bin/bash -c "/usr/bin/journalctl --follow --user -u userunit.service >> /home/user1/log/userunit.log"
Restart=always
RestartSec=3
Type=simple
    
[Install]
WantedBy=default.target

ベストアンサー1

おすすめ記事