systemctl statusサービスでログ全体を表示するには?

systemctl statusサービスでログ全体を表示するには?

私はサービスヘルスチェックを使用しますsystemctl status service-name

基本的には数行だけ見せて、さらに多くの-n50行を見たくて追加しました。

時にはログ全体を最初から見たいときがあります。何千もの行があるかもしれません。
今確認して-n10000みるとあまり良い解決策ではないようです。

システム全体のサービスログを確認するコマンドと同様のオプションはありますかless

答え1

journalctl次のコマンドを使用できます。

journalctl -u service-name.service

または、現在の起動に関するログメッセージのみを表示します。

journalctl -u service-name.service -b

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

journalctl -u service-name

ただし、他の種類のユニット(ソケット、ターゲット、タイマーなど)については明示的でなければなりません。

上記のコマンドでは、flagsは関心のある単位 -uの略語であり、その単位の名前を指定します。の略で、出力は現在の開始のみに制限されるため、以前のメッセージはあまり表示されません。より--unit-b--bootJournalctl のマニュアルページより多くの情報を知りたいです。

答え2

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

systemctl -l status service-name

-l:省略記号(...)のある項目を切り捨てません。

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

答え3

journalctlシステムログを表示するために使用されます。

          ︙

journalctlページングなしで表示

ログを標準出力に送信してページングを防止するには、次の --no-pagerオプションを使用します。

journalctl --no-pager

表示されたログ数を最初にフィルタリングせずにこれを実行することはお勧めできません。

journalctl -u service-name.service

          ︙

特定の時間範囲内のログの表示

--since指定した日時以降のログを表示するには、このオプションを使用します。

journalctl --since "2018-08-30 14:10:10"

--until指定した日時までのログを表示するには、このオプションを使用します。

journalctl --until "2018-09-02 12:05:50"

2 回の間のログを表示するには、次を組み合わせます。

journalctl --since "2018-08-30 14:10:10" --until "2018-09-02 12:05:50"

上記の内容のほとんどは、次の内容を盗作したものです。Journalctlを使用したシステムログの表示Linodeのドキュメントから。そこに詳細情報があります。

答え4

を使用してjournalctlログをテキストファイルに書き込み、次から上から読みます。

journalctl -u service-name.service > file_name.txt &&\
tail file_name.txt

関連情報