GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengetahui waktu saat ini dari internet dari baris perintah di Linux?

Jika Anda menggunakan bash, baris berikut akan melakukan tugasnya

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

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

Ini memanfaatkan kemampuan jaringan bawaan¹ dari bash shell. Jika Anda menggunakan shell POSIX atau shell lain yang dapat Anda gunakan mis. netcat.

$ nc time.nist.gov 13

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

Kedua perintah menanyakan server pengatur waktu pada TCP port 13 dari National Institute of Standards and Technology dan menampilkan data yang diterima di stdout.

¹EDIT: Dari halaman manual Bash:Bash menangani beberapa nama file khususnya ketika digunakan dalam pengalihan, seperti yang dijelaskan dalam tabel berikut:

/dev/tcp/host/port
Jika host adalah nama host atau alamat Internet yang valid, dan port adalah nomor port bilangan bulat atau nama layanan, bash mencoba membuka koneksi TCP ke soket yang sesuai.

/dev/udp/host/port
Jika host adalah nama host atau alamat Internet yang valid, dan port adalah nomor port bilangan bulat atau nama layanan, bash mencoba membuka koneksi UDP ke soket yang sesuai.


Ada beberapa layanan NTP yang tersedia per distro.

Jika Anda ingin melakukan sinkronisasi jam satu kali :

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

Setel waktu sistem ke Jam Waktu-Nyata perangkat keras

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

(Catatan:ini bekerja dengan baik dengan Google karena mereka memiliki seluruh server)

Jika Anda hanya ingin melihat jam berapa server terdekat Google mengirim:

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

ntpdate perintah dapat melakukan ini dengan -q bendera:

$ 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

Dari man ntpdate :

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

Linux
  1. Cara menginstal perangkat lunak dari baris perintah Linux

  2. Cara Menghapus File dan Direktori di Linux dari Command Line

  3. Migrasi server Linux dari baris perintah

  1. Cara Restart atau Reboot Server Linux dari Command Line

  2. Cara Memisahkan Dan Menggabungkan File Dari Baris Perintah Di Linux

  3. Bagaimana saya bisa menyalin folder dari baris perintah Linux?

  1. Cara Mengekstrak atau Mengekstrak File tar.gz dari Baris Perintah Linux

  2. Cara Menggunakan Perintah Waktu Linux:Yang Perlu Anda Ketahui

  3. Cara Restart (Reboot) Linux dari Command Line