私はサービスヘルスチェックを使用します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
--boot
Journalctl のマニュアルページより多くの情報を知りたいです。
答え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