Mantendo o horário sincronizado

Ao compartilhar arquivos na rede, manter os relógios das máquinas sincronizados passa a ser uma necessidade, afinal, se cada máquina está usando um horário diferente, fica impossível acompanhar as datas de modificações dos arquivos. Achar a versão mais recente de um determinado arquivo torna-se uma tarefa impossível e o trabalho de ferramentas diversas de backup fica prejudicado, sem falar nos logs do sistema e outros recursos que dependem do horário.

Felizmente, é muito simples manter os horários das máquinas sincronizados, graças a vários servidores NTP públicos, disponíveis pelo mundo. Os servidores principais, chamados de stratum 1, sincronizam seus relógios a partir de relógios atômicos ou um sistema de GPS e, por isso, são extremamente precisos. A seguir, temos os servidores stratum 2, servidores menores sincronizados a partir dos primeiros.

Você pode sincronizar o relógio da sua máquina rapidamente usando o comando “ntpdate -u“, seguido pelo servidor desejado. O comando faz parte do pacote “ntp” ou “ntpd”, instalado por padrão na maioria das distribuições. A opção “-u” faz com que seja usada uma porta alta, necessário se você acessa usando uma conexão compartilhada ou tem um firewall ativo.

Para facilitar as coisas, existe o servidor “pool.ntp.org”, que serve como um load balancer, encaminhando as requisições para um servidor geograficamente próximo de você. Ao invés de ficar caçando servidores públicos no Google, você pode sincronizar diretamente a partir dele:

# ntpdate -u pool.ntp.org

8 Sep 14:12:29 ntpdate[20592]: step time server 128.208.109.7 offset -9.091791 sec

O Linux utiliza um sistema relativamente complexo para manter o horário do sistema. Ao invés de simplesmente confiar no horário informado pelo relógio da placa mãe, ele utiliza um sistema mais complexo, baseado no clock da placa mãe para calcular a passagem do tempo. Sempre que o sistema é desligado corretamente, diferenças no horário do sistema e no horário informado pelo relógio da placa mãe são salvas em um arquivo e recuperadas na hora do boot.

Em geral, este sistema é bem mais preciso e permite que o horário mantenha-se correto (desde que o micro não seja desligado) mesmo nos casos em que a bateria do setup está fraca e o relógio da placa mãe está atrasando.

No entanto, existem casos onde o sistema calcula o clock de forma incorreta, fazendo com que o relógio comece a adiantar ou atrasar, mesmo que o relógio da placa mãe esteja indicando o horário corretamente.

A solução, nestes casos, é rodar o comando ntpdate periodicamente, de forma que o horário seja sempre corrigido antes que as diferenças se acumulem. Neste caso, a melhor solução é fazer com que o cron execute o comando de hora em hora.

O jeito mais simples de fazer isso é criar um pequeno script dentro da pasta “/etc/cron.hourly/”, cujo conteúdo é executado de hora em hora pelo cron. Crie o arquivo “/etc/cron.hourly/ntpdate”, contendo as duas linhas a seguir:

#!/bin/sh
ntpdate -u pool.ntp.org

Transforme-o em executável:

# chmod +x /etc/cron.hourly/ntpdate

O cron detecta mudanças nos arquivos automaticamente. Mas, se preferir, você pode forçar a atualização usando o comando:

# /etc/init.d/cron restart

Os servidores NTP atendem clientes de todo o mundo, independentemente do fuso horário, pois são configurados para utilizar um horário comum o UTC (Universal Time Zone). Os clientes ajustam o horário de acordo com o fuso horário local.

Naturalmente, para que isso funcione, é necessário que o fuso horário esteja configurado corretamente. A maioria das distribuições ajusta isso logo durante a instalação, mas você pode configurar o fuso horário do sistema através de vários utilitários, como o “tzconfig” ou o configurador do KDE (kcmshell clock), que aparece ao clicar com o botão direito sobre o relógio e acessar a opção “Mudar data e hora”. Existem também vários clientes Windows que utilizam o protocolo NTP. Você pode baixar as versões oficiais no:
http://ntp.isc.org/bin/view/Main/ExternalTimeRelatedLinks

O protocolo NTP leva em conta o ping entre as máquinas e outros fatores para fazer as atualizações de forma extremamente precisa. Diferenças de sincronismo entre os servidores são sempre da ordem de poucos milésimos de segundo.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X