journalctl – systemd 管理下のログを表示するコマンド

ログ取得

journalctl コマンドは、systemd によって管理されるジャーナルログを表示・検索する コマンドです。
システムログ、サービスログ、カーネルメッセージなどを統合的に確認でき、systemctl と組み合わせてトラブルシューティングに用いられます。

オプションを作成するwebツールを作成しました → journalctl コマンド生成ツール

構文(Syntax)

journalctl [オプション] [フィルタ]

主なオプション一覧

オプション説明使用例
(なし)すべてのログを表示journalctl
-u UNIT特定のサービスのログを表示journalctl -u nginx
-b現在のブートに限定して表示journalctl -b
-kカーネルメッセージのみ表示journalctl -k
-f新しいログをリアルタイムに追跡journalctl -f
-n N直近 N 行のみ表示journalctl -n 50
--since "YYYY-MM-DD HH:MM:SS"指定時刻以降のログを表示journalctl --since "2025-08-21 10:00:00"
--until "YYYY-MM-DD HH:MM:SS"指定時刻までのログを表示journalctl --until "2025-08-21 12:00:00"
-p LEVELログレベルで絞り込み(0=emerg, 7=debug)journalctl -p err -b
-o jsonJSON 形式で出力journalctl -o json -n 5
--disk-usageジャーナルが使用しているディスク容量を表示journalctl --disk-usage
--vacuum-size=SIZEログを指定サイズまで削除sudo journalctl --vacuum-size=500M
--vacuum-time=TIME指定日数以上前のログを削除sudo journalctl --vacuum-time=7d

実行例

全ログを表示

journalctl

サービスごとのログ確認(例: sshd)

journalctl -u ssh

最新ログをリアルタイム監視

journalctl -f

カーネルメッセージを確認

journalctl -k

直近 20 行だけ表示

journalctl -n 20

特定期間のログを表示

journalctl --since "2025-08-20" --until "2025-08-21 10:00:00"

ログレベル error 以上を抽出

journalctl -p err -b

出力例:

Aug 21 10:15:12 server1 sshd[1234]: error: PAM: Authentication failure for root

ログ容量を確認

journalctl --disk-usage

出力例:

Archived and active journals take up 320.0M in the file system.

古いログを削除(容量制限)

sudo journalctl --vacuum-size=200M

JSON 形式で出力

journalctl -n 5 -o json

エラー例(存在しないサービスを指定)

journalctl -u hogeservice

出力例:

-- No entries --

関連コマンド

  • systemctl : サービスやユニットの管理
  • dmesg : カーネルリングバッファを表示(ジャーナルに統合済みの環境も多い)
  • logger : 任意のメッセージを syslog/journal に記録

備考

  • journalctlsystemd-journald によるログを扱います。syslog(rsyslog, syslog-ng)と併用されることもあります。
  • ログは通常 /var/log/journal/ に保存されますが、ディストリビューションによっては揮発性(メモリ上のみ)の場合もあります。
  • フィルタリングは複数指定可能で、-u-p を組み合わせて使うのが便利です。
  • サービスのトラブル調査では、systemctl statusjournalctl -u <サービス名> をセットで使うのが定石です。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント