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



» Screenshot
» 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, 87709 pontos
[ Hits: 34019 ]

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 Decoração GTK no KDE4
   Dica Linux recomendada Instalando o jogo Space Invaders no menu do GRUB
   Dica Linux recomendada Criando uma galeria de imagens no Konqueror
   Dica Linux recomendada Ligar e desligar o monitor por linha de comando
   Dica Linux recomendada Instalação do Slackware direto do hd

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.