Exibe o tempo mais preciso possível

0

Quero definir a hora no meu relógio o mais próximo possível da hora real, sincronizada e atual.

Existe um comando que exibe repetidamente o tempo atual até o segundo, calibrado usando o NTP, para que eu possa definir meu relógio corretamente?

    
por Naftuli Kay 19.11.2015 / 22:27

2 respostas

2

Se o seu sistema estiver sincronizado com ntp (verifique ntpq -crv para "sync_ntp" no status e / ou /usr/sbin/ntptime para o código "0 (OK)" e PLL ou FLL, mas não UNSYNC para status), então date e todos os amigos retornam o tempo exato, estimado como estando fora do valor de "deslocamento" (que normalmente é vários ms, muito melhor do que você jamais configuraria seu relógio)

Eu costumava usar um script em Perl como este para definir meu relógio, antes de ter um que se definia:

#!/usr/bin/perl
use strict;
use utf8;

use Time::HiRes qw(gettimeofday usleep);
binmode STDOUT, ':utf8';

# Set up start conditions
my ($timer, $residual) = gettimeofday;
usleep(1e6 - $residual);
$residual = 0;
++$timer;
my $correction = 0;

while (1) {
        usleep(1e6 + $residual + $correction);
        ++$timer;
        my ($m_s, $m_µs) = gettimeofday;
        $correction = (1e6*($timer - $m_s) - $m_µs);
        $residual += $correction;

        if ($correction < 5_000 && $correction > -5_000) {
                # if within 5ms
                print "\a  ".localtime($timer)."\t${correction} µs\n";
        } else {
                print "x ".localtime($timer)."\t${correction} µs\n";
        }

}

Execute-o em um terminal. Ele tenta exibir a hora a cada segundo, junto com a emissão de um bip terminal, se ele acertar em 5ms. Claro, verdade seja dita, a latência para produzir o sinal sonoro é provavelmente mais do que 5ms, como é o tempo que leva o seu cérebro para reconhecer e responder ao sinal sonoro.

(Eu suponho que você poderia adicionar algo em que o computador primeiro testou seu tempo de reação fazendo com que você pressionasse uma tecla quando você ouve o sinal sonoro, e então usou isso para tocar o bipe um pouco mais cedo para cancelar seu tempo de reação.)

    
por 20.11.2015 / 00:04
0

O ntpd deve manter-se atualizado com a ampla infra-estrutura dos servidores NTP e possui algoritmos para compensar / calcular / considerar a perda / RTT dos pacotes UDP através da Internet e propagar o tempo através dos estratos. . Os servidores NTP do stratum 1 são tipicamente conectados a relógios atômicos. data é mais que suficiente para uma resolução de 1.

    
por 19.11.2015 / 23:44

Tags