systemctlステータスサービスから完全なログを表示するにはどうすればよいですか?


347

でサービスステータスを確認しますsystemctl status service-name

デフォルトでは、いくつかの行しか表示されないため、-n50さらに表示するために追加します。

時々、最初から完全なログを表示したいことがあります。何千行もある可能性があります。
今、私はそれをチェックしますが-n10000、それはきちんとした解決策のようには見えません。

lessコマンドに似た完全なsystemdサービスログをチェックするオプションはありますか?


1
受け入れられた答えは役に立たなかったが、私は-n旗に気付いていなかった。追加-n99999することは、私にとって受け入れ可能な回避策のようです。私を正しい方向に向けてくれてありがとう:-)
tobixen

回答:


488

次のようにjournalctlコマンドを使用するだけです:

journalctl -u service-name.service

または、現在のブートのログメッセージのみを表示するには:

journalctl -u service-name.service -b

という名前の<something>.service場合は、実際には次のように使用できます<something>

journalctl -u service-name

しかし、他の種類のユニット(ソケット、ターゲット、タイマーなど)については、明示的にする必要があります。

上記のコマンドでは、-uフラグはの短縮形であり--unit、関心のあるユニットの名前を指定します。 -bはの短縮形であり--boot、現在のブートのみに出力を制限するため、多くの古いメッセージは表示されません。詳細については、journalctlのmanページ参照してください。


28
添付は、--no-pagerあなたが文句を言わないスクロールする必要がありますので、完全なログを出力します
Dushyant Bangal

38
追加する-eと、最後にログが開始され、スクロールする必要がなくなりますが、事前にログ全体を印刷することはありません。
-timlyo

58
追加-fはログの更新(印刷)に従います
ジョーJ

22
追加する--helpと、利用可能なすべてのオプションが表示されます
-Tzafrir

これらのログはディスクのどこかに保存されていますか?
viveksinghggits

25

systemctl-lフラグを追加することにより、切り捨てることなく、ステータスリストの完全な出力を含めることができます。

systemctl -l status service-name

-l:エントリを省略記号で切り捨てないでください(...)

--no-pager 出力が対話式端末の場合にページャーを呼び出さないようにするために追加できます。


7
どうにかあなたの答えを明示できますか?オプションについての説明を追加し、回答をフォーマットすることをheしないでください!
joH1

7
この答えは間違っています。出力は切り捨てられたままです。
phil294
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.