[1] Comentário enviado por
ricleite em 12/09/2006 - 09:56h:
Vou tentar enrriquecer um pouco:
Para que o relógio de servidores fique sempre atualizado com o ntpdate é importante que os servidotes de NTP (o protocolo de ajuste de hora) estejam online. Isso nem sempre é possível se usarmos o ntpdate sempre com o mesmo ip de um servidor de tempo.
Para resolver este problema o site ntp.org fornece um alias de dns que retorna aleatoriamente um "pool" de ips de servidores de tempo do mundo todo e também do Brasil:
O comando pra usar o ntpdade usando esse pool de servidores é:
ntpdate pool.ntp.org
E se vc preferir somente servidores brasileiros:
ntpdate br.pool.ntp.org
Isso isto é muito lindo mas pode ainda assim acontecer que justamente o servidor de tempo retornado esteja offiline bem na hora de acertar o tempo e além disso convém que o horário seja sincronizado com o clock de hardware do linux com o comando:
clock -w
Eu fiz um pequeno script (que pode ser rodado diariamente pelo crontab) que tenta se conectar 5 vezes a servidores de tempo brasileiros e acerta a hora e que resolve a maioria dos problemas:
---8<------8<------8<------8<------8<------8<------8<------8<------8<---
#!/bin/bash
RETRY_MAX=5
retry=1
while [ 1 ] ; do
echo "Tentativa:$retry"
ntpdate br.pool.ntp.org
if [ "$?" -ne "1" ]; then
clock -w
echo "OK"
exit 0
fi
let retry=$retry+1
if [ "$retry" -gt "$RETRY_MAX" ] ; then
echo "ERRO: Nao foi possivel ajustar a hora na $RETRY_MAX tentativa."
echo "Provavelmente sem conexao a internet ou sem DNS server"
exit 1
fi
done
[2] Comentário enviado por
Cesar.AR em 12/09/2006 - 10:14h:
Esse problema que você comentou ocorre com servidores ntp do pool de servidores. O servidor que indiquei (200.20.186.75) é do Observatório Nacional, que tem um relógio de césio e funciona 24 horas por dia. Visite
http://pcdsh01.on.br/ - Hora Legal Brasileira do Observatório Nacional.
Obrigado pela contribuição.
[3] Comentário enviado por
rovaris em 20/11/2006 - 11:31h:
Fiz tudo certinho e ele sincroniza o relógio do meu Debian com 2 horas a mais que o horário certo.. pq?
[4] Comentário enviado por
valterrezendeeng em 10/10/2007 - 15:03h:
Fiz um pouco diferente mas deu certo
Muito Bom
[5] Comentário enviado por
lourilucio em 25/01/2010 - 00:01h:
Oi pessoal,
Para acertar a hora no Ubuntu precisei fazer duas alterações no script do Ricardo, a primeira foi acrescentar a opção "-u" para ntpdate e a outra foi alterar o comando "clock" para "hwclock", depois foi só adicionar no crontab e correr pro abraço.
Segue o script com os ajustes:
---8<------8<------8<------8<------8<------8<------8<------8<------8<---
#!/bin/bash
RETRY_MAX=5
retry=1
while [ 1 ] ; do
echo "Tentativa:$retry"
ntpdate -u br.pool.ntp.org
if [ "$?" -ne "1" ]; then
hwclock -w
echo "OK"
exit 0
fi
let retry=$retry+1
if [ "$retry" -gt "$RETRY_MAX" ] ; then
echo "ERRO: Nao foi possivel ajustar a hora na $RETRY_MAX tentativa."
echo "Provavelmente sem conexao a internet ou sem DNS server"
exit 1
fi
done
---8<------8<------8<------8<------8<------8<------8<------8<------8<---
Valeu galera!