4 de março de 2011

Mantenha seu relógio em dia

Com a chegada dos novos sistemas operacionais da Microsoft, diversos aplicativos e até jogos que necessitam de um processo especial de ativação, é essencial manter relógio do sistema funcionando bem e sempre atualizado.

Não sei se já perceberam, mas nos sistemas mais antigos e "não conectados" o relógio nunca esta ajustado. É porque as divisões de frequência dos cristais, as mudanças de temperatura e as variações na energia afetam o contador em alguns milissegundos por dia.

Mas existe uma forma de manter o relógio oficialmente ajustado, desde que você conecte o PC à Internet de vez em quando.

A bateria

No PC, o sistema responsável pelo relógio em tempo real (RTC - Real Time Clock) é o BIOS, e para manter o tempo ajustado, mesmo quando o PC está desligado, existe uma pequena bateria instalada na placa mãe. A bateria do C-MOS, como é conhecida, tem uma vida útil de alguns anos, mas não dura para sempre. Se seu PC vive “perdendo a hora”, atrasando com freqüência ou simplesmente perde toda a configuração do setup, também mantida pela bateria, está na hora de substituí-la.

Não vou demonstrar os passos aqui, pois varia de placa para placa. Minha recomendação é que a troca seja feita por um técnico ou alguém com um conhecimento razoável, mas aqui vão algumas dicas:
  • Nunca toque na bateria nova com os dedos, principalmente dos dois lados ao mesmo tempo. Use luvas ou pinças de plástico. Os óleos, a condutividade natural da pele e a eletricidade estática podem causar problemas em curto prazo;
  • Pelos mesmos motivos, também não toque nos circuitos da placa mãe sob a bateria;
  • O PC deve estar completamente desconectado da energia e dos periféricos para a troca da bateria. Cargas estáticas podem danificar o C-MOS;
  • É obrigatório o uso de uma pulseira anti-estática devidamente aterrada ao manusear qualquer parte interna do PC;
  • Antes de trocar a bateria, entre no setup do BIOS e anote as configurações mais importantes como clock do sistema e seqüência de boot;
  • Após a troca, volte ao setup do BIOS e ajuste a data e a hora. Faça isso antes de dar boot no sistema operacional, caso contrário você poderá danificá-lo.
Se, ao fizer algo, tiver dúvidas, é porque não devia fazer!
Procure orientação técnica.

Exemplo de bateria da placa-mãe.

Ajustando o relógio

Mesmo com a bateria boa, é comum que o relógio do PC atrase ou adiante, seja pelos ruídos e interferências do ambiente, por causa vírus, trojans e outros malwares, pela ação de softwares mal projetados e até pela intervenção de um usuário desatento.

Por sorte, a maioria dos sistemas operacionais modernos tem a opção de atualizar a hora usando serviços de referência na Internet chamados NTPNetwork Time ProtocolProtocolo de Tempo/Horário na Rede. Existem vários servidores NTP no mundo, e no Brasil os mantidos pelo Comitê Gestor da Internet no Brasil são os mais importantes e precisos. Abaixo está a lista com estes servidores:

NomeEndereço IP
a.ntp.br200.160.0.8
b.ntp.br200.189.40.8
c.ntp.br200.192.232.8

Para usar estes servidores no Windows, existem pelo menos duas possibilidades:

Arquivo em lote

Como administrador, abra o bloco de notas digite as seguintes linhas:
net time /setsntp:"a.ntp.br b.ntp.br c.ntp.br"
net stop w32time
net start w32time
Salve na pasta “C:\Documents and Settings\All Users\Menu Iniciar” com o nome “ntp.bat”. Assim, a cada boot, o script será executado na inicialização do Windows.

Esse método vale apenas se você tem uma conexão com a Internet, já que, para que o script funcione, a Internet deve estar conectada antes do boot do Windows.

Também é possível executar o script a qualquer tempo, bastando dar dois cliques com o mouse sobre ele. Neste caso, salve-o em outro lugar como o desktop e use-o quando quiser atualizar o relógio.

Cliente NTP do Windows

Outra possibilidade mais simples é informar ao relógio do Windows de onde ele deve atualizar-se. Para isso, como administrador, faça o seguinte:
  • Dê dois cliques no relógio do Windows na barra de tarefas;
  • Clique na guia “Horário na Internet”;
  • Marque a caixa “Sincronizar automaticamente com um servidor de horário na Internet”;
  • Altere o valor de “Servidor:” para “a.ntp.br” sem as aspas;
  • Conecte-se na Internet e clique no botão “Atualizar agora”;
  • Clique em “Ok” para fechar a janela do relógio.

Ajustando o relógio do Windows pela Internet.

A partir de agora, de tempos em tempos o Windows vai se conectar a este servidor e atualizar o relógio automaticamente. Às vezes, computadores em rede ou integrantes de um domínio tem dificuldades de atualizar-se desta forma, neste caso, consulte o administrador da rede.

Você pode incluir vários servidores no campo "Servidor:" separando-os por vírgulas assim: "a.ntp.br,b.ntp.br,c.ntp.br", mas neste caso, o Windows sincronizará apenas pelo primeiro que estiver disponível e não por todos ao mesmo tempo.

Como fazer no Linux

No Linux, basta escrever um pequeno script que seja executado à cada boot. Para isso, abra seu editor favorito digite:
#!/bin/bash

# Procura o primeiro servidor NTP ativo
ntpdate a.ntp.br > /dev/null 2>&1 ||
ntpdate b.ntp.br > /dev/null 2>&1 ||
ntpdate c.ntp.br > /dev/null 2>&1

# Atualiza o relógio do BIOS
hwclock --systohc && > /dev/null 2>&1
# Exibe a data ajustada
echo " "
echo -n "A data atual é: "
date +"%d/%m/%Y %H:%M:%S"
echo " "
exit
Salve o script na pasta “/usr/local/bin” por exemplo com o nome “ntp.sh”. Agora, localize o arquivo ou diretório que executa scripts durante o boot da sua distribuição e inclua o script acima nele. Nas distribuições “Debian Like” como o próprio Debian, Ubuntu e Kurumin, este arquivo é o “/etc/init.d/bootmisc.sh”. Outra possibilidade é agendar a execução do script usando o cron.

Também existem softwares especializados em manter o relógio correto. A vantagem destes aplicativos é que eles costumam ser mais precisos do que os clientes NTP embutidos nos S.O.s. Um bom exemplo é o ntpd de “David Mills”, criador do protocolo, que tem versões para Linux, Windows e outras plataformas e que serve de base para vários outros aplicativos.

Quem quiser saber mais ou tirar dúvidas, comente.
Referências:
Esta é uma edição revisada, ampliada e atualizada. A versão anterior não está mais disponível na Internet.

2 comentários neste post

Mestre Andre, me oriente onde errei: criei o arquivo de lote ntp.bat, e,para testar, troquei a data de meu relógio; quando executei o arquivo de lote a data não voltou ao normal por algum motivo (?).
Depois configurei o servidor e ele deu a seguinte mensagem(tradução): "Um erro ocorreu quando o Windows se sincronizava com a.ntp.br Esta operação retornou pois o período de tentaiva expirou." Após dar Ok, amensagem mudou para "Orelógio foi sincronizado com sucesso com a.ntp.br em (data) às (hora)".

Amigo Wallace,

Dê preferência ao método via "Cliente NTP do Windows". O método com o script BAT só é recomendado para servidores, já que o script tem que ser executado com privilégios administrativos mais altos, pois interfere no hardware do sistema.

A falha na atualização dos NTP é comum, já que o mundo todo faz requisições aos servidores NTP do Brasil. Caso as falhas persistam, tente usar o "b.ntp.br" ou mesmo o "c.ntp.br".

Postar um comentário

Atenção comentarista!
  • Todos os comentários serão rigidamente moderados;
  • Identifique-se! Comentários anônimos não são recomendados;
  • Comentários com três ou mais links serão removidos;
  • Comentários escritos em miguxês ou excesso de gírias serão removidos;
  • Comentários escritos com predominância de maiúsculas serão removidos;
  • Por favor, prove que você é coerente, educado e bem informado: conheça o restante do site, saiba quem somos, sobre o que, para quem e como escrevemos antes de comentar futilidades;
  • Respeite as opiniões dos autores e dos outros comentaristas. Seja breve e sem ofensas;
  • Escreva comentários relevantes e que contribuam de alguma forma para o bem da humanidade;
  • Não seja um inútil social. Lembre-se que o mundo não gira ao seu redor.