web-dev-qa-db-ja.com

Linuxのコマンドラインからインターネットから現在の時刻を知る方法は?

Linuxのコマンドラインからインターネットから現在の時刻を知る方法は?

たとえば、ntpqプログラムでは?

注:コンピュータやオペレーティングシステムの時計ではなく、インターネットからですか?

注:時間の変更や同期はしたくありません。ただそれを知っています。

27
Dims

あなたがbashを使用する場合、次の行が仕事をします

$ cat </dev/tcp/time.nist.gov/13

56525 13-08-21 23:07:09 50 0 0  55.6 UTC(NIST) *

これは、bashシェルの組み込みのネットワーク機能capを活用します。 POSIXシェルまたはその他のシェルを使用する場合は、たとえば、 netcat。

$ nc time.nist.gov 13

56525 13-08-21 23:07:09 50 0 0  55.6 UTC(NIST) *

どちらのコマンドも、TCP National Institute of Standards and Technology のポート13)でタイマーサーバーにクエリを実行し、受信したデータをstdoutに出力します。

=EDIT:From Bashのmanページ: Bashは、リダイレクトで使用される場合、特別にいくつかのファイル名をリダイレクトで使用します。次の表:

/dev/tcp/Host/port
Hostが有効なホスト名またはインターネットアドレスで、portが整数のポート番号またはサービス名である場合、bashは対応するソケットへのTCP接続を開こうとします。

/dev/udp/Host/port
Hostが有効なホスト名またはインターネットアドレスで、portが整数のポート番号またはサービス名である場合、bashは対応するソケットへのUDP接続を開こうとします。

31
Marco

ディストリビューションごとにいくつかの NTPサービス が利用可能です。

ワンタイムクロック同期を実行したい場合:

date -s "$(curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g')"

システム時間をハードウェアリアルタイムクロックに設定します

hwclock -r --utc
hwclock -w --utc
hwclock -r --utc

(注:彼らはすべてのサーバーを持っているので、これはGoogleでうまく機能します)


Googleの最寄りのサーバーが送信する時刻を確認する場合:

date -d "$(curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g')"
22
justbrowsing

ntpdate コマンドは、-qフラグを使用してこれを実行できます。

$ ntpdate -q 1.debian.pool.ntp.org
server 88.191.120.99, stratum 3, offset -0.015076, delay 0.06604
server 88.191.235.218, stratum 2, offset -0.000676, delay 0.06592
server 188.165.240.21, stratum 3, offset 0.001191, delay 0.07005
server 91.121.34.166, stratum 2, offset 0.000565, delay 0.06998
22 Aug 00:56:21 ntpdate[31373]: adjust time server 88.191.235.218 offset -0.000676 sec

man ntpdateから:

   -q     Query only - don't set the clock.
18
terdon

[〜#〜] htp [〜#〜] を使用して、いずれかのHTTPを使用してインターネット経由で時間を取得することもできます。これは、通常htpdateとして多くのシステムで使用できます。最も近い秒、または tlsdate を使用してTLSを使用して取得できます。これにより、精度が向上します。

tlsdate -nV google.com

また、ntpdateは非推奨となっているため、 sntp (デフォルトでMacOSにインストールされ、ntpディストリビューションの一部として提供されます)を使用して、より正確に日付を取得できます。

sntp pool.ntp.org 
0
Pierz