GNU/Linux >> Znalost Linux >  >> Linux

Jak zjistit aktuální čas z internetu z příkazového řádku v Linuxu?

Pokud použijete bash, následující řádek to udělá

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

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

Využívá vestavěné síťové schopnosti¹ bash shellu. Pokud používáte shell POSIX nebo jakýkoli jiný shell, můžete použít např. netcat.

$ nc time.nist.gov 13

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

Oba příkazy se dotazují serveru časovače na TCP portu 13 Národního institutu pro standardy a technologie a vydávají přijatá data na stdout.

¹UPRAVIT: Z manuálové stránky Bash:Bash zpracovává několik názvů souborů speciálně, když se používají v přesměrování, jak je popsáno v následující tabulce:

/dev/tcp/host/port
Pokud je hostitel platný název hostitele nebo internetová adresa a port je celé číslo portu nebo název služby, bash se pokusí otevřít TCP spojení s odpovídajícím soketem.

/dev/udp/host/port
Pokud je hostitel platný název hostitele nebo internetová adresa a port je celé číslo portu nebo název služby, bash se pokusí otevřít UDP připojení k odpovídajícímu soketu.


V každé distribuci je k dispozici několik služeb NTP.

Pokud chcete provést jednorázovou synchronizaci hodin :

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

Nastavte systémový čas na hardwarové hodiny reálného času

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

(Poznámka:S Googlem to náhodou funguje dobře, protože mají všude servery)

Pokud chcete jen zjistit, kolik hodin odesílá nejbližší server Google:

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

ntpdate příkaz to dokáže pomocí -q příznak:

$ 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

Od man ntpdate :

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

Linux
  1. Jak nainstalovat software z příkazového řádku Linuxu

  2. Jak odstranit soubory a adresáře v Linuxu z příkazového řádku

  3. Jak rozdělit a kombinovat soubory z příkazového řádku v Linuxu

  1. Jak restartovat nebo restartovat Linux Server z příkazového řádku

  2. Migrace linuxového serveru z příkazového řádku

  3. Jak mohu zkopírovat složku z příkazového řádku systému Linux?

  1. Jak extrahovat nebo rozbalit soubory tar.gz z příkazového řádku Linuxu

  2. Jak používat Linux Time Command:Vše, co potřebujete vědět

  3. Jak restartovat (restartovat) Linux z příkazového řádku