Como saber o tempo atual da Internet a partir da linha de comando no Linux?
Por exemplo, com ntpq
programa?
Nota: não do relógio do computador ou do sistema operacional, mas da internet?
Nota: Não quero alterar ou sincronizar a hora. Apenas SAIBA.
linux
command-line
ntp
Dims
fonte
fonte
Respostas:
Se você usar o bash, a seguinte linha fará o trabalho
Ele aproveita os recursos de rede internos¹ do shell bash. Se você usa um shell POSIX ou qualquer outro shell, pode usar, por exemplo, netcat.
Ambos os comandos consultam o servidor de timer na porta TCP 13 do Instituto Nacional de Padrões e Tecnologia e emitem os dados recebidos no stdout.
IT EDIT: Na página do manual Bash: O Bash lida com vários nomes de arquivos, especialmente quando eles são usados em redirecionamentos, conforme descrito na tabela a seguir:
fonte
</dev/tcp/
formato?curl -G --data-urlencode "format=%D-%T\n" http://www.timeapi.org/cet/now?
Existem vários serviços NTP disponíveis por distribuição.
Se você deseja fazer uma sincronização de relógio única :
Defina a hora do sistema para o hardware Relógio em tempo real
(Nota: isso funciona bem com o Google, porque eles têm servidores por toda parte)
Se você deseja apenas ver a que horas o servidor mais próximo do Google envia:
fonte
O
ntpdate
comando pode fazer isso com o-q
sinalizador:De
man ntpdate
:fonte
Você também pode obter o tempo pela Internet usando o HTTP usando HTP, disponível em muitos sistemas, pois
htpdate
normalmente só tem precisão para o segundo mais próximo, ou pode obtê-lo usando o TLS,tlsdate
que pode fornecer uma melhor precisão:Além disso, como o ntpdate está sendo preterido, você pode usá-
sntp
lo (ele é instalado por padrão no MacOS e faz parte das distribuições ntp) para obter a data com muito mais precisão:fonte