Como posso saber se meu sistema Debian está mantendo a hora exata do sistema obtendo atualizações de NTP? Basicamente, quero ativar isso se estiver desativado no momento, mas não sei se está ativado ou desativado.
Corrida
ps ax | grep ntpd
e verificando se a saída contém algo como
6497 ? Ss 0:04 /usr/sbin/ntpd ...
confirmará que o ntpd está sendo executado. Se não estiver em execução, você poderá iniciá-lo com
/etc/init.d/ntp start
Se você receber uma mensagem de erro No such file or directory
, será necessário instalar o pacote ntp
sudo apt-get install ntp
Depois de executar o ntpd, você poderá conversar com ele com o comando ntpq .
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*time.nist.gov .ACTS. 1 u 753 1024 377 139.432 -0.562 2.199
+sip.dicode.nl 193.190.230.66 2 u 733 1024 163 33.197 0.297 0.132
+194.109.64.200 192.87.106.2 2 u 779 1024 377 35.214 -0.323 0.027
LOCAL(0) .LOCL. 10 l 3 64 377 0.000 0.000 0.001
O que mostra (deslocamento) que meu sistema está <1 segundo fora de sincronia - eu posso viver com isso.
Se você tem estatísticas de pares ativadas no seu, /etc/ntp.conf
então você tem estatísticas em /var/log/ntpstats/peerstats
. (O diretório e o nome do arquivo serão especificados em ntp.conf). Você pode digitalizá-lo para ver o quão bem você está rastreando seus servidores. O comando grep -v 127.127.1.0 /var/log/ntpstats/peerstats
exibirá todas as linhas, exceto as do relógio local. O primeiro número de ponto flutuante é o deslocamento em segundos. Quanto mais próximo estiver de zero, melhor. Deve haver uma mistura de valores positivos e negativos. Use o zgrep para procurar dados históricos nos logs girados com uma .gz
extensão.
Para ver quais são os valores usados ntpq -p
como sugerido por Iain.
Se você executar o Munin para monitorar seu sistema, ele poderá rastreá-lo para você. Acredito que o deslocamento registrado é o valor relativo à fonte de sincronização atualmente. É o que está na linha começando com um asterisco (*) na ntpq -p
saída. Munin pode ser configurado para notificar que seu deslocamento é muito grande. Minhas linhas de aviso são as seguintes (vezes em milissegundos):
ntp_offset.delay.warning 40 ntp_offset.offset.warning -15: 15
Uma maneira barata e suja de verificar o relógio local versus outra máquina é esta sequência de comandos do shell:
date; telnet somehost 13; date
"somehost" precisa executar o protocolo "diurno" da RFC 867, e isso não é mais tão comum. O inetd pode fornecer "diurno" por si só, e alguns hosts ainda têm o "diurno" ativado.
Você pode obter uma verificação independente no relógio local, sem necessidade de NTP.