ntpq コマンド

目的

標準の Network Time Protocol (NTP) 照会プログラムを開始します。

構文

ntpq [ -i ] [ -n ] [ -p ] [ -c SubCommand] [ Host ... ]

説明

ntpq コマンドは、指定されたホスト上で稼働する NTP サーバーを照会します。そのホストは、現行状態に関する推奨 NTP モード 6 の制御メッセージ形式をインプリメントし、しかもその状態に変更を要求することができます。対話モードでもコマンド行引数を使用しても実行できます。任意の変数の読み取りおよび書き込みを要求することができ、さらに未フォーマット出力オプションおよびフォーマットされた出力オプションを使用できます。また、ntpq コマンドは、サーバーに複数の照会を送信して、共通フォーマットでピアのリストを獲得し表示することもできます。

1 つまたは複数のフラグを持つ ntpq コマンドを入力した場合、それぞれの指定された (またはデフォルトがローカル・ホストの) ホスト上で実行する NTP サーバーが、それぞれの要求を受信します。フラグを何も入力しないと、ntpq コマンドは、最初に指定されたホストまたはデフォルトのローカル・ホストで実行する NTP サーバー上で、標準入力からコマンドを読み取って実行しようとします。標準入力が端末である場合は、サブコマンドにプロンプトを指示します。

ntpq コマンドは、NTP モード 6 パケットを使用して NTP サーバーと通信し、それを許可するネットワーク上の任意の互換性のあるサーバーを照会することができます。

ntpq コマンドは、要求の再送を一度試みますが、リモート・ホストが適切な時間内に応答しない場合は、要求はタイムアウトになります。

-i または -n 以外のフラグを指定すると、指定されたホストにすぐに照会が送信されます。そうでなければ、ntpq コマンドは、標準入力から対話式フォーマット・サブコマンドを読み取ろうとします。

フラグ

-c SubCommand 対話式フォーマットのコマンドを指定します。このフラグは、指定されたホスト上で実行するコマンドのリストに SubCommand を追加します。複数の -c フラグを入力できます。
-i 対話モードを指定します。 標準出力でプロンプトを表示し、標準入力でコマンドを読み取ります。
-n 正規ホスト名ではなくドット付き 10 進数 (x.x.x.x) ですべてのホスト・アドレスを表示します。
-p サーバーが認識するピアのリストおよびそれらの状態の要約を表示します。peers サブコマンドを使用するのと同じことです。

パラメーター

Host ... ホストを指定します。

戻りコード

このコマンドは次の終了値を戻します。

0 正常終了。
>0 エラーが発生しました。

  1. 対話モードで Network Time Protocol の照会プログラムを開始するには、下記のように入力します。

    ntpq -i
  2. 1000 ミリ秒の時間間隔をタイム・スタンプに追加するには、下記のように入力します。

    ntpq -c "delay 1000"

ntpq 内部サブコマンド

下記のサブコマンドは、ntpq 照会プログラムの実行中のみ使用できます。

対話式フォーマット・サブコマンド

対話式フォーマット・サブコマンドは、0 個から 4 個までの引数が後に付いたキーワードで構成されます。一意的にサブコマンドを識別するには、全キーワードのうち必要な文字しか入力する必要はありません。サブコマンドの出力は標準出力に表示されますが、個々のサブコマンドの出力は、> (「より大」符号) の後にファイル名を付けてコマンド行に付加し、ファイルにリダイレクトすることができます。

対話式フォーマット・サブコマンドには、完全に ntpq 照会プログラム内だけで実行するものや、NTP モード 6 の要求をサーバーに送信しないものがいくつかあります。

NTP モード 6 のメッセージで送られるデータは、下記のフォーマットのエントリー・リストで構成されます。

Variable=Value

ここでは、変数を読み取るサーバーへの要求に応じて、Value は無視されるので、省略することができます。ntpq 照会プログラムは、内部リストを保持しますが、そのリスト内では readlist および writelist 制御メッセージ・サブコマンドを使用して、制御メッセージに組み込まれるデータをアセンブルし送信することができます。

? [ SubCommand ] コマンドの使用に関する情報を表示します。SubCommand を指定しないで使用すると、すべての ntpq コマンド・キーワードのリストが表示されます。SubCommand を指定して使用すると、サブコマンドに関する機能および使用情報が表示されます。
addvars Variable [ =Value ] [ ,... ] 内部データ・リストに追加される変数およびそのオプション値を指定します。複数の変数を追加する場合、リストをコンマで区切り、しかもスペースが入らないようにしなければなりません。
authenticate yes | no すべての要求に関する認証を送信するかどうかを指定します。通常、ntpq 照会プログラムは、書き込み要求ではない限り、要求を認証しません。
clearvars すべての変数を内部データ・リストから除去します。
cooked リモート・サーバーから受信したすべての結果を再フォーマットして表示します。末尾の ? (疑問符) は、デコード可能な値を持たない変数にマークを付けます。
debug more | less | off ntpq 照会プログラムのデバッグをオンまたはオフにします。more および less オプションで出力の冗長性を制御します。引数を指定しないでこのサブコマンドを入力した場合、このサブコマンドの現行設定値が出力されます。
delay MilliSeconds 認証を必要とする要求に組み込まれたタイム・スタンプに追加する時間間隔を指定します。このサブコマンドは、長時間遅延ネットワーク・パス上またはクロックが同期化されていないコンピューター間で信頼性のないサーバーを再構成することができます。引数を指定しないでこのサブコマンドを入力した場合、このサブコマンドの現行設定値が出力されます。
host HostName 照会の送信先のホストを指定します。 HostName は、ホスト名でも数値アドレスでもかまいません。引数を指定しないでこのサブコマンドを入力した場合、このサブコマンドの現行設定値が出力されます。
hostnames yes | no ホスト名を出力するか (yes) または数値アドレスを出力するか (no) を指定します。-n フラグが使用されない場合は、yes にデフォルト設定します。引数を指定しないでこのサブコマンドを入力した場合、このサブコマンドの現行設定値が出力されます。
keyid Number 構成要求の認証に使用するサーバー鍵番号を指定します。引数を指定しないでこのサブコマンドを入力した場合、このサブコマンドの現行設定値が出力されます。
ntpversion 1 | 2 | 3 パケットをポーリングするときに使用する NTP バージョン・インプリメンテーションを指定します。デフォルト値は 3 です。引数を指定しないでこのサブコマンドを入力した場合、このサブコマンドの現行設定値が表示されます。
注:
モード 6 の制御メッセージおよびモードは、NTP バージョン 1 にはありませんでした。
passwd 構成要求の認証に使用する NTP サーバー認証パスワードを入力するようプロンプトを指示します。
quit ntpq 照会プログラムを終了します。
raw リモート・サーバーから受信したすべての結果をフォーマットせずに表示します。非 ASCII 文字を出力可能なフォーマットに変換するだけです。
rmvars Variable [ =Value ] [ ,... ] 内部データ・リストから除去される変数およびそのオプション値を指定します。複数の変数を除去する場合、リストをコンマで区切り、しかもスペースが入らないようにしなければなりません。
timeout MilliSeconds サーバー照会に対する応答にタイムアウト期間を指定します。デフォルトは 5000 ミリ秒です。引数を指定しないでこのサブコマンドを入力した場合、このサブコマンドの現行設定値が出力されます。
注:
ntpq 照会プログラムは、タイムアウトの後にそれぞれの照会を一度ずつ再試行するので、タイムアウトの待ち時間の合計は、設定されたタイムアウト値の 2 倍になります。

制御メッセージ・サブコマンド

NTP サーバーが認識する各ピアには、16 ビットの整数のアソシエーション ID が割り当てられます。ピア変数を運ぶ NTP 制御メッセージは、そのアソシエーション ID を含めることにより、その値が対応するピアを識別しなければなりません。 0 のアソシエーション ID は特別なものであり、その変数がシステム変数であり、その名前が別のネーム・スペースから取り出されたものであることを示します。

ntpq 制御メッセージ・サブコマンドは、サーバーに送信された 1 つまたは複数の NTP モード 6 のメッセージになって、あるフォーマットで戻されたデータを出力します。現在インプリメントされたサブコマンドのほとんどは、単一メッセージを送信し、単一応答を待ちます。現行例外のサブコマンドには、必要なデータを獲得するためのプログラム済みの一連のメッセージを送信する peers サブコマンド、およびアソシエーションの範囲上で繰り返す mreadlist および mreadvar サブコマンドがあります。

associations 照会中のサーバーのスペック内ピア用のアソシエーション ID およびピア状況のリストを獲得して表示します。リストは次の列に印刷されます。
  • 最初の列には、内部使用のためにアソシエーションに 1 から番号を振る索引が入っています。
  • 2 番目の列には、サーバーが戻す実際のアソシエーション ID が入っています。
  • 3 番目の列には、ピアの状況ワードが入っています。
  • 残りの列には、状況ワードからデコードしたデータが入っています。
注:
associations サブコマンドによって戻されたデータは、ntpq 照会プログラム内に内部的にキャッシュされます。複雑なアソシエーション ID を使用するサーバーを扱うときは、&index というフォーマットにして、アソシエーション ID の代替として索引を引数のように使用します。
clockvar [ AssocID ] [ Variable [ =Value ], ... ]
または
cv [ AssocID ] [ Variable [ =Value ], ... ]
サーバーのクロック変数のリストを表示します。ラジオ・クロックまたは他の外部同期を持つサーバーは、これに肯定的に応答します。システム・クロック変数を要求するには、 AssocID をブランクのままにするか、または 0 を指定します。サーバーがクロックを疑似ピアとして扱い、一度に複数のクロックを接続する可能性がある場合、該当のピア・アソシエーション ID を参照すると、特定のクロックの変数が表示されます。変数リストを省略すると、サーバーはデフォルトの変数表示を戻します。
lassociations サーバーが状態を保持しているすべてのアソシエーション用のアソシエーション ID およびピア状況のリストを表示します。このサブコマンドは、スペック外のクライアント・アソシエーションのために状態を保存するサーバーにとってのみ、associations サブコマンドと異なります。
lpassociations 内部的にキャッシュされたアソシエーションのリストから、スペック外のクライアント・アソシエーションを含む、すべてのアソシエーション用のデータを表示します。
lpeers サーバーが状態を保持するすべてのアソシエーションの要約を表示します。peers サブコマンドと類似しています。これは、スペック外のクライアント・サーバーからピアのより長いリストを作成することがあります。
mreadvar AssocID AssocID [ Variable [ =Value ], ... ]
または
mrv AssocID AssocID [ Variable [ =Value ], ... ]
与えられたゼロ以外のアソシエーション ID の範囲でそれぞれのサーバーに指定されたピア変数の値を表示します。最新のアソシエーション・コマンドでキャッシュしたアソシエーション・リストが、その範囲を決定します。
mreadlist AssocID AssocID
または
mrl AssocID AssocID
与えられたゼロ以外のアソシエーション ID の範囲でそれぞれのサーバーに内部変数リスト内で指定されたピア変数の値を表示します。最新のアソシエーション・コマンドでキャッシュしたアソシエーション・リストが、その範囲を決定します。
opeers peers サブコマンドの旧フォーマットです。参照 ID をローカル・インターフェース・アドレスに置き換えます。
passociations 内部的にキャッシュされたアソシエーションのリストからスペック内ピアに関係するアソシエーション・データを表示します。このサブコマンドは、新規の照会を作成するのではなく内部的に格納されたデータを表示するという点を除き、associations サブコマンドと同じように動作します。
peers サーバーのスペック内ピアのリストおよび各ピアの状態の要約を表示します。要約情報には、以下の情報が含まれます。
  • リモート・ピアのアドレス
  • 参照 ID (不明参照 ID の場合には 0.0.0.0)
  • リモート・ピアの階層 (階層 16 は、リモート・ピアが同期化されていないことを示します)
  • ピアのタイプ (ローカル、ユニキャスト、マルチキャスト、または ブロードキャスト)
  • 最後にパケットを受信した時刻、ポーリング間隔 (秒数)
  • ポーリング間隔 (秒)
  • 到達可能レジスター (8 進数)
  • ピアの現在の予測される遅れ、オフセットおよび散らばり (秒数)。

左マージンの文字は、クロック選択プロセスにおけるこのピアの処理結果を下記のとおり示します。

スペース
高層または正常性検査の失敗のために廃棄されました。
x
交差アルゴリズムによって疑似ティッカーが指定されました。
.
候補リストの終わりから選択されました。
-
クラスター化アルゴリズムによって廃棄されました。
+
最終選択セットに組み込まれました。
#
同期用に選択されましたが、最大距離を超えています。
*
同期用に選択されました。
o
pps シグナルを使用する同期用に選択されました。

ホスト・フィールドの内容は、ホスト名、IP アドレス、パラメーターまたは REFCLK (ImplementationNumber, Parameter) を指定した参照クロックのインプリメンテーション名であることがあります。IP アドレスが表示されるのは、hostnames no を使用したときのみです。

注:
peers サブコマンドは、受け取る応答の値を解析する能力に依存しています。データ・フォーマットを十分に制御しないサーバーとの動作に時々失敗することがあります。

peers サブコマンドは、非アトミックであるため、コマンドを発生し終了する無効なアソシエーションに関する疑似エラー・メッセージになることが時々あります。

pstatus AssocID 読み取り状況要求を送信して、与えられたアソシエーションでサーバーのピア変数の名前および値を表示します。出力は、16 進数と英語の両方で、変数の前にヘッダーを付けて表示します。
readlist [ AssocID ]
または
rl [ AssocID ]
与えられたアソシエーションでサーバーの内部変数リストのピア変数の値を表示します。システム変数を要求するには、AssocID をブランクにしておくか、または 0 を入力します。内部変数リストが空の場合は、サーバーはデフォルトの変数表示を戻します。
readvar [ AssocID ] [ Variable [ =Value ], ... ]
または
rv [ AssocID ] [ Variable [ =Value ], ... ]
読み取り変数要求を送信して、与えられたアソシエーションでサーバーの指定されたピア変数の値を表示します。システム変数を要求するには、AssocID をブランクにしておくか、または 0 を入力します。変数リストを省略すると、サーバーはデフォルトの変数表示に戻します。
writevar [ AssocID ] [ Variable [ =Value ], ... ] 書き込み変数要求を送信して、与えられたアソシエーションでサーバーに指定されたピア変数の値を書き込みます。
writelist [ AssocID ] 与えられたアソシエーションでサーバーの内部変数リストにピア変数の値を書き込みます。

関連情報