Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: banner
Por mrtuxys
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Usando NTPDATE para manter a hora certa do seu Linuxbox
Linux user
Publicado por Cesar Ramina em 11/09/2006

Login: Cesar.AR, 75506 pontos
[ Hits: 26956 ]

Usando NTPDATE para manter a hora certa do seu Linuxbox

Para quem quer manter a hora certa do seu Linux, há um programa muito simples, ocupa pouca memória e pode rodar tanto no boot como manualmente. É o ntpdate.

A cada inicialização ele recolhe informações do servidor de hora e acerta a hora do sistema. Pode também ser usado manualmente para corrigir a hora com o comando:

# ntpdate -u ip-do-servidor-de-hora-certa

E para manter o horário Brasileiro, basta colocar um servidor da Hora Legal Brasileira (Observatório Nacional) no arquivo de configuração.

Para isso, depois da instalação (que no caso do Debian é "apt-get install ntpdate"), edite o arquivo /etc/default/ntpdate e substitua o NTPSERVERS para:

NTPSERVERS="200.20.186.75"

Pronto. Sua hora sempre estará em acordo com o horário oficial Brasileiro. Se na sua instalação você colocou o fuso horário da sua região corretamente, o seu relógio sempre estará acertado, mesmo que mudem os horários de verão.


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Converter vídeos para DIVX Mobile (celular LG GM600 - Scarlet 2)
   Dica Linux recomendada SuSE rodando KDE em 256MB
   Dica Linux recomendada Fontes TrueType no Debian
   Dica Linux recomendada Calculadoras científicas no Linux
   Dica Linux recomendada Linha do tempo das distribuições Linux

Comentários
[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!


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.