Este tutorial foca nas técnicas para definir a data e hora no Linux usando timedatectl, NTP ou date.

como administrador de sistema, você pode ser convidado a definir a data do sistema em vários servidores.

eles podem estar configurados mal ou seus fusos horários podem não estar configurados corretamente.

Como consequência, alguns dos seus programas podem registar datas inválidas, o que leva a ser incapaz de inspeccionar alguns dos seus registos do servidor, por exemplo.,

neste tutorial, vamos ver como você pode definir corretamente a data no Linux, a fim de corresponder ao seu timezone geográfico atual.

Primeiro, vamos dar uma olhada no comando timedatectl com a opção systemd-timesync. Em seguida, vamos instalar serviços chrony ou NTP, a fim de sincronizar a nossa Data do sistema de forma eficiente.finalmente, vamos usar o comando “data” para definir estaticamente a data do nosso sistema.

Nós também vamos discutir as diferenças entre esses métodos e qual você pode querer usar de preferência.,

tabela de conteúdos

pré-requisitos

Antes de iniciar, terá de ter privilégios do sudo na sua máquina para executar alguns dos comandos.

certifique-se de que, você pode executar o seguinte comando

$ sudo -lUser user may run the following commands on localhost: (ALL) ALL

Se você não tiver privilégios sudo em sua conta, siga este tutorial para obter o sudo em sistemas baseados no Debian, ou em sistemas baseados em Red Hat (CentOS, RHEL)

data Definida no Linux usando timedatectl

Se você está trabalhando no Debian/Ubuntu ou no RHEL/CentOS, a maneira de definir a data é a mesma.,

para definir a data, você precisa definir a sua informação do fuso-horário e (opcionalmente) ativar o protocolo NTP, a fim de que o seu sistema se sincronize com os servidores NTP. Se você não usar o protocolo NTP (com ntpd ou chrony), seu sistema irá usar o serviço timesync por padrão.

Se o seu fuso-horário estiver mal configurado, terá de modificar a sua informação do fuso-horário.

para consultar o seu fuso-horário actual no Linux, pode executar o comando timedatectl.digamos que você quer modificá-lo.,

para listar os fusos-horários no Linux, use a opção “list-timezones” com o timedatectl.

$ timedatectl list-timezones

Como você pode ver, os fusos horários são apresentados usando a seguinte sintaxe : continente/região.

para definir o seu fuso-horário para Nova Iorque, você pode procurá-lo facilmente usando grep.

$ timedatectl list-timezones | grep YorkAmerica/New_York

para definir o fuso-horário, use o comando “set-timezone”.

$ timedatectl set-timezone America/New_York

para verificar a data actual do seu sistema, terá de executar o comando timedatectl de novo.,

no entanto, sua data atual não está sincronizada ainda, você terá que ativar o serviço NTP para que ele se sincronize.

Por omissão, se estiver a trabalhar com uma distribuição com o systemd, deverá ter o servidor do systemd-timesync por omissão.

A principal diferença entre systemd-timesync e NTP é que o daemon só implementa um lado cliente e não está usando mecanismos complexos como NTP.

para activar a sincronização de tempo, basta executar este comando.,

$ timedatectl set-ntp truesystemd-timesyncd.service active: true

Se preferir usar chrony ou NTP, as secções seguintes descrevem como pode definir NTP e chrony a fim de sincronizar a data do seu sistema.

define a data no Linux usando o chrony (NTP)

a maneira mais precisa de definir a data no Linux é usar o protocolo ntp.

Como uma chamada de atenção rápida, o protocolo NTP é usado para sincronizar o tempo entre diferentes servidores através de uma rede.

irá usar servidores de tempo de referência que serão sincronizados com o seu próprio servidor através da computação de latências para contactar servidores de referência.,

Usando o protocolo NTP, você será capaz de ter uma data muito precisa no Linux.

para definir a data, você vai usar o serviço de cronologia.

Em Primeiro Lugar, certifique-se de que o serviço de timesyncd não está em execução na sua máquina.

$ sudo systemctl stop systemd-timesyncd.service

a seguir, certifique-se que os seus pacotes estão actualizados no seu servidor.

$ sudo yum update

então, instale o pacote de chrony usando YUM.

$ sudo yum install chrony $ sudo apt-get install chrony 

na maioria dos casos, o serviço chrony pode ser instalado por padrão na sua distribuição.,

para activar e iniciar o serviço chrony, tem de executar os seguintes comandos.

$ sudo systemctl enable chronyd$ sudo systemctl start chronyd

verifique o estado do seu serviço com o comando status.

$ sudo systemctl status chronyd

,

lembre-se que não tem de definir o protocolo NTP para o comando timedatectl, dado que o chrony inicial irá desactivar automaticamente o servidor systemd-timesync para usar o NTP.

Se você quiser ter certeza disso, você ainda pode executar o seguinte comando.

$ timedatectl set-ntp true

execute o comando timedatectl novamente para se certificar de que tudo está sincronizado.

nota : em vez de ter “serviço NTP”, você ainda pode ter o “systemd-timesyncd.service active” label set to yes., Isso não significa que o serviço esteja ativo, mas significa que o host está usando o chrony como uma maneira de sincronizar.

Também, você pode executar “date” para verificar a data do seu sistema atual.

$ date Thu Oct 17 13:16:10 EDT 2019

Awesome!

você definiu com sucesso a sua data no Linux (CentOS/RHEL) usando o chrony.

defina a data no Linux usando ntpd (NTP)

como descrito Antes, usar o protocolo NTP é provavelmente a maneira mais precisa de definir a sua data no Ubuntu e Debian.

Em primeiro lugar, você vai instalar o serviço ntp em seu host.,

para instalar um cliente NTP, basta executar o seguinte comando.

$ sudo apt-get install ntp $ sudo yum install ntp 

por omissão, se executar este comando irá instalar e activar um serviço NTP (serviço de tempo de rede) na sua máquina.

para garantir isso, obter o status do serviço NTP.

$ sudo systemctl status ntp

Por padrão, executando ou reiniciar o serviço NTP não ativar o serviço NTP para o timedatectl de comando.

para activar a sincronização NTP, indique a opção “set-ntp”.,

$ timedatectl set-ntp true

novamente, execute um comando timedatectl simples, a fim de se certificar de que tudo está funcionando corretamente.fantástico!

você definiu corretamente a data no Linux usando ntp.

defina a data no Linux usando o comando date

uma das maneiras de definir a data no Linux é usar o comando date.

uma das principais falhas desta abordagem é o fato de que você nunca será tão preciso como definir o fuso-horário e sincronizá-lo com timesyncd ou cronyd.

no entanto, ainda é possível fazê-lo desta forma.,

Em primeiro lugar, a sincronização do tempo de desactivação na sua máquina, caso contrário a sua alteração manual da data será apagada sempre pelo serviço de sincronização.

$ sudo timedatectl set-ntp false

para definir a data, use “date” com a opção “-s”.

$ date -s <date>

por exemplo, usando o formato AAAA-MM-dd, poderá definir a data desta forma.

$ date -s '2019-10-17 12:00:00'Thu Oct 17 12:00:03 EDT 2019$ date -s '23 October 2019 12:00:00'Wed Oct 23 12:00:00 EDT 2019

Você também pode usar atalhos para definir a data facilmente.

Se quiser modificar apenas o ano, poderá usar o atalho” próximo ano” ou “último ano”.,

$ sudo date -s "next year"Sat Oct 17 12:02:21 EDT 2020$ sudo date -s "last year"Thu Oct 17 12:02:43 EDT 2018

Pode também optar por modificar apenas o mês, ou o dia com os seguintes atalhos.

Sincronize o seu relógio de ‘hardware’ com a data do seu sistema

Antes de prosseguir com as suas tarefas diárias de administração do sistema, pode ser uma boa ideia sincronizar o seu relógio de ‘hardware’ com a data do seu sistema.desta forma, está a certificar-se de que os seus dois relógios não mostram datas e horas diferentes.

para sincronizar o seu relógio de ‘hardware’ com a data do seu sistema, use o comando “hwclock” com a opção “–systohc”.

$ sudo hwclock --systohc$ sudo hwclock2019-10-23 13:03:56.466724-0400

Great!,

sincronizou com sucesso o seu relógio de ‘hardware’ com a data actual do sistema.

conclusão

no tutorial de hoje, você aprendeu como pode facilmente definir a data em qualquer sistema Linux.

Você Aprendeu que pode definir o fuso-horário e deixar o servidor systemd-timesyncd efectuar a sincronização do tempo.

Se você está procurando por técnicas de sincronização de tempo mais precisas e eficientes, você aprendeu que você pode usar chrony ou NTP, a fim de alcançar este resultado.

Você também viu que é possível definir a data estaticamente usando o comando date.,

Se você está interessado na administração do sistema Linux, temos muitos tutoriais sobre o assunto.