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-pager | less を使わずにそのまま出す |
例
$ 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 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。