Systemctl ログを表示する方法

Systemctl Roguwo Biao Shisuru Fang Fa



systemd は、Linux で広く採用されている init システムの 1 つです。 systemd の主な利点は、システム ログを管理できることです。すべてのカーネル メッセージとユーザー プロセスを、という名前のログに収集します。 ジャーナル 。の 日記を付けた ログをバイナリ ファイルにキャプチャして管理するデーモンです。このデーモンには、データを構造化およびインデックス化された形式で保存するという重要な利点があり、 ジャーナルctl ユーティリティ。

このガイドでは、さまざまなコマンド ライン ユーティリティを使用して Linux で systemd ログを表示する方法について説明します。

注記: このガイドで説明されているコマンドは Ubuntu 上で実行されます。これらは、systemd init システムが付属するすべての Linux ディストリビューションでエラーなしで動作します。







systemctl ログを表示する方法

Linux で systemd ログを表示するには、2 つの方法があります。



systemctl は最新のサービス固有のログを提供し、journalctl はすべてのサービスと特定のサービスの詳細なシステム全体のログを提供します。



systemd ログを表示するには、両方のユーティリティを調べます。ただし、その前に、systemctl コマンドとjournalctl コマンドの主な違いを理解しましょう。





systemctlとは何ですか

Systemctl は、サービスの有効化または無効化やステータスの表示など、systemd サービスを管理するコマンド ライン ユーティリティです。の システム制御ステータス このコマンドは、出力の下部にサービスのログ行を数行出力します。このログは最近の起動後のものです。ただし、サービスのこれらのログ行は、現在のブート後のみのものです。

ジャーナルctlとは何ですか

journalctl は、systemd によって収集されたログを出力するために使用されるコマンド ライン ユーティリティです。 systemctl と比較すると、フィルタリング オプションを備えた詳細な出力が提供されます。このユーティリティは次の目的で設計されています。



  • ログの読み取り (最も古いログが最初に表示されます)
  • 監視ログ
  • 時間、サービス、またはユーザーに基づいてログをフィルタリングする

systemd は、カーネル、サービス、デーモンからログを収集し、一元的な場所に保存します。

systemctl を使用してサービスのログを表示する方法

を使用してサービスのログを検索するための一般的な構文 システム制御 ユーティリティについては後述します。

システム制御ステータス [ サービス名

たとえば、ログ情報を表示するには、 smbd.サービス 以下のコマンドを使用します。

systemctl ステータス smbd.service

ページネーションなしで出力を取得するには、 –ポケットベルなし コマンドのオプション。

systemctl ステータス smbd.service --ポケベルなし

Journalctl を使用してサービスのログを表示する方法

systemd の特定のサービスのログを表示するには、次を使用します。 ジャーナルctl とともに -で コマンドとサービスまたはユニット名。

ジャーナルctl -で [ サービス名

上記のコマンドでは、 -で フラグ、略称 -ユニット をフィルタリングするために使用されます ジャーナルctl ユニット名で出力します。

たとえば、ログを印刷するには、 smbd デーモン、私が置き換えます [ユニット名] smbd.サービス

ジャーナルctl -で smbd.サービス

出力では、最も古いエントリが最初に表示され、次に各ブート後にログがリストされることがわかります。

最新のエントリを取得するには、最初に使用します -それは の略 –ポケベル終了。

ジャーナルctl -で smbd.サービス -それは

出力からページネーションを省略したい場合は、単純に –ポケットベルなし 上記のコマンドで。

リアルタイム使用でログエントリを継続的に印刷するには -f の略 -フォローする

ジャーナルctl -で smbd.サービス -f

フィルタリングは、-b フラグを使用してさらに拡張できます。 -ブート 、現在のブートに基づいてログを出力します。

ジャーナルctl -で [ ユニット名 -b

のログを印刷しましょう smbd.サービス 最近のブートから。

ジャーナルctl -で smbd.サービス -b

上記の出力は、 システム制御ステータス 指示。

詳細なログの概要を取得するには、 -バツ の略 -カタログ オプション。

ジャーナルctl -で smbd.サービス -バツ

これにより、ログの簡単な説明が追加されます。

ここで、journalctl を使用して時間に基づいてログを出力するには、2 つのオプションがあります。 -S の略 -以来 そして -で の略 -それまで

ジャーナルctl -で [ ユニット名 -S 「[年-月-日] [時:分:秒]」

たとえば、ユニットのログを表示するには smbd から 2024:01:30 12:05:00

ジャーナルctl -で smbd.サービス -S 「2024:01:30 12:05:00」

結論

サービスの systemd ログを表示するには、journalctl と systemctl という 2 つの主要なユーティリティがあります。 journalctl は、systemd のログを表示するために特別に設計されています。ただし、systemctl にはサービスのログを出力するオプションもあります。サービス利用のログを印刷するには、 ジャーナルctl -u [ユニット名]と システム制御 [ユニット名]。