journalctl の使い方

システムのログを見る

書き方

journalctl [-u サービス] [-n 行数] [-p err] [-xe] [-k]
journalctl --since '1 hour ago' [--until 時刻]
journalctl -g パターン

-u でサービスを絞り込み、-p err でエラー以上だけ、-xe で末尾を詳しく。--since は today・yesterday・'30 min ago'・'2024-11-01 08:00' などで期間を絞ります。

よく使うオプション

オプション意味
-u サービスそのサービスのログだけ
-n 行数最後の何行だけ
-f新しく出たログを出し続ける(Ctrl+C で止める)
-p errエラー以上の重さだけ
--since / --until期間で絞る(today・'1 hour ago' など)
-b今回の起動からのログだけ
-xe最後のほうを、説明つきで表示
--no-pagerless を使わずにそのまま出す

例

$ journalctl -u nginx -n 30

nginx のログを最後の 30 行だけ見ます。

$ sudo journalctl -p err -b

今回の起動から出たエラーだけを見ます。起動のあとに何かおかしいときに使います。

$ journalctl -u crond --since '1 hour ago'

この 1 時間の crond のログだけを出します。

$ sudo journalctl -f -u sshd

sshd のログを出し続けます。別の端末からログインを試し、その様子を見るときに使います。

よくある間違い・注意

  • ほかのユーザーやシステムのログは、sudo を付けないと見えないことがあります。
  • 出力は less で表示されます。q で抜け、/ で探せます。
  • --since の日時は 'YYYY-MM-DD HH:MM' のように、空白を含むので引用符で囲みます。

実際に打って練習する

Linux レベル1 コースの Lv57「番人の日誌 journalctl」で覚えます(第4章 サーバーの守り手(パッケージとサービス))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る