Sincronizar data e hora de dispositivos com um servidor NTP tem várias utilidades e vantagens – principalmente em uma empresa com um parque extenso de computadores.
Para mostrar como resolver isto, de maneira simples, vou usar o caso de um netbook, com 3 anos de uso, cuja bateria interna havia deixado de funcionar. Como resultado, toda vez que eu o ligava, ele tinha voltado pra 31 de Dezembro de 2007.
Isto causava uma série de problemas – vários programas dependem de uma data e hora precisas para funcionarem adequadamente. Ter que ajustar a data e a hora manualmente, toda vez que ligar o computador é desgastante – mesmo pra mim, que costumo manter meus computadores ligados por dias ou semanas.
Veja como resolvi o problema.
O relógio do hardware ou RTC
Quase todo dispositivo eletrônico possui um hardware clock – relógio do hardware, que responde por outros nomes, como relógio do BIOS ou relógio de tempo real (RTC – Real Time Clock). Este relógio é alimentado por uma bateria própria – às vezes, ela é soldada à placa mãe, o que impede a sua troca.
LEIA MAIS
- Há exemplos de uso dos comandos
hwclock
edate
no artigo Comandos Linux Básicos – o primeiro ajusta o relógio do hardware e o segundo ajusta o relógio do sistema.- Veja como obter informações do BIOS, com o comando dmidecode
O que é o NTP
NTP quer dizer Network Time Protocol – trata-se de um protocolo usado para sincronizar os relógios entre computadores conectados em uma mesma rede.
A maioria dos servidores, na Internet, estão sincronizados através do NTP – o que evita que um email chegue a um destinatário 2 minutos “antes” de ser mandado, pra citar um pequeno exemplo do que seria a rede sem o NTP.
Apesar da aparente bagunça, a Internet precisa funcionar “como um relógio”.
Como instalar e configurar o NTP no Linux
Se você usa o Ubuntu ou qualquer outra distro Linux baseada no Debian, pode instalar com o apt-get
:
sudo apt-get install ntp
Quem usa o RedHAT ou Fedora, pode instalar o NTP com o yum
:
yum install ntp
Usuáros Debian, podem fazer uso do aptitude (com privilégios administrativos):
aptitude install ntp
Claro que você pode usar o aptitude no Ubuntu, também.
Como os pacotes são pequenos, o download e a instalação devem ser rápidos (isto depende da velocidade da sua conexão, também).
Como configurar o ntp
Se você aguardar alguns instantes, o NTP irá se executar e atualizar a data e hora do sistema.
Se você quiser, pode verificar se o aplicativo está rodando.
No Debian e no Ubuntu, use o seguinte comando:
/etc/init.d/ntp status
ntp.service - LSB: Start NTP daemon Loaded: loaded (/etc/init.d/ntp) Active: active (running) since Seg 2007-12-31 21:01:25 BRT; 6 years 7 months ago Process: 525 ExecStart=/etc/init.d/ntp start (code=exited, status=0/SUCCESS) CGroup: /system.slice/ntp.service └─618 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 113:120 Dez 31 21:01:29 Neuromancer ntpd_intres[649]: host name not found: 1.debia...g Dez 31 21:01:29 Neuromancer ntpd_intres[649]: host name not found: 2.debia...g Dez 31 21:01:29 Neuromancer ntpd_intres[649]: host name not found: 3.debia...g Dez 31 21:02:03 Neuromancer ntpd[618]: Listen normally on 4 wlan0 192.168....3 Dez 31 21:02:03 Neuromancer ntpd[618]: peers refreshed Dez 31 21:02:05 Neuromancer ntpd[618]: Listen normally on 5 wlan0 fe80::22...3 Dez 31 21:02:05 Neuromancer ntpd[618]: peers refreshed Dez 31 21:02:06 Neuromancer ntpd_intres[649]: DNS 0.debian.pool.ntp.org ->...5 Dez 31 21:02:06 Neuromancer ntpd_intres[649]: DNS 1.debian.pool.ntp.org ->...5 Dez 31 21:02:06 Neuromancer ntpd_intres[649]: DNS 2.debian.pool.ntp.org ->...3 Hint: Some lines were ellipsized, use -l to show in full.
A linha em destaque, acima, mostra que o meu cliente NTP está ativo
Neste caso, não há mais nada que precise ser feito.
Se você desligar o computador, quando o ligar novamente, ele vai atualizar automaticamente a data e a hora do sistema, assim que se conectar à Internet.
Configurações adicionais do NTP
Se você quiser detalhar a configuração, pode indicar outros servidores mais adequados à sua região geográfica.
Você pode encontrar uma lista de servidores em www.pool.ntp.org.
Abra o arquivo de configuração /etc/ntp.conf
com o seu editor favorito:
editor /etc/ntp.conf
e acrescente as opções adequadas. Para mim, estas são as que funcionam melhor:
server 0.south-america.pool.ntp.org server 1.south-america.pool.ntp.org server 2.south-america.pool.ntp.org server 3.south-america.pool.ntp.org
Feita a alteração, reinicie o serviço NTPD:
sudo /etc/init.d/ntp restart
* Stopping NTP server ntpd [ OK ] * Starting NTP server ntpd [ OK ]
Só isto já é o suficiente para resolver o problema. Ao ligar o computador e conectar à Internet, o seu relógio interno já será atualizado automaticamente.
Para atualizar imediatamente a data e a hora do seu sistema, rode o comando a seguir:
/usr/sbin/ntpdate pool.ntp.org
Como habilitar a sincronização NTP pela interface gráfica
Abra o painel de configurações do seu sistema e selecione a opção de ajuste de data e hora.
Em seguida, desbloqueie a tela de ajustes e forneça a senha administrativa.
Ao desbloquear, será possível selecionar a opção “Manter sincronizado com servidores na Internet”.
Só isto já será o suficiente – espero ter sido útil.
3 replies on “Como sincronizar data e hora no sistema a partir de servidores NTP”
Obrigado pela dica.
Elias e se eu quiser actualizar a hora dos meus hosts a partir de um servidor local, sem que os hosts não necessitem de internet. Como faço ?
Pablo, você pode usar o comando abaixo:
/usr/sbin/ntpdate 192.168.0.250