Como alterar a data e hora do servidor do Ubuntu via linha de comando?

24

A data e hora atuais do servidor Ubuntu são diferentes da data e hora do fuso horário. Eu tentei usar:

sudo date "30 Sep 2015 4:43:42"

para alterá-lo, mas ele não alterou a data e a hora, apenas imprimiu no terminal a data e a hora que eu mudei, mas quando executei:

sudo hwclock --show

A data e a hora ainda são antigas.

Qual é a maneira correta de alterar a data e hora do Ubuntu Server?

    
por Priska Aprilia 30.09.2015 / 09:51

3 respostas

49

Você pode definir a data do sistema com este comando:

sudo date --set="2015-09-30 10:05:59.990"

Então, ao usar date , ele deve ser exibido corretamente.

Agora você também deve definir o clock de hardware no BIOS do sistema, que a configuração persiste durante a reinicialização (durante a inicialização, a hora do sistema é definida com o valor do clock do hardware). Faça isso com hwclock :

sudo hwclock --systohc

Isso obtém o valor de clocks do sistema (sys) e define o clock do hardware (hc). Verifique com o comando hwclock . Tanto hwclock como date devem mostrar a mesma data e hora.

Para definir o seu fuso horário , você pode usar este comando:

sudo dpkg-reconfigure tzdata

BTW : Se você usar esta máquina como um servidor, recomendo usar um cliente NTP para sincronizar o tempo pela rede . Assim, você pode garantir que todos os seus servidores tenham exatamente o mesmo tempo definido. Isso irá sincronizar o tempo enquanto a máquina funciona. Se você tiver aplicativos dependentes do tempo sincronizado sobre o servidor, recomendo o NTP-Daemon. Quanto mais tempo corre em segundo plano, mais preciso é o tempo.

    
por chaos 30.09.2015 / 10:11
3

Eu não gosto de definir a hora do sistema manualmente. Então, para corrigir esse problema, tive que combinar duas respostas diferentes.
Para corrigir a hora do sistema, você precisa usar este código:

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

como indicado neste answer
Então você sincroniza o relógio do hardware com o relógio do sistema usando

sudo hwclock --systohc

como dado por @chaos neste tópico.

    
por twitu 18.01.2018 / 07:26
1

basta digitar

sudo date newdatestring

com newdatestring no formato nnddhhmmyyyy.ss

  • nn: o mês (dois dígitos) (01 a 12)
  • dd: o dia (dois dígitos) (01 a 31), com as regras regulares para dias de acordo com o mês e o ano aplicando
  • hh: a hora (dois dígitos) (00 a 23)
  • mm: o minuto (dois dígitos) (00 a 59)
  • yyyy: o ano; pode ser dois dígitos ou quatro dígitos
  • ss tem dois dígitos (00 a 59). Observe o período "." Antes do ss.

Mas, ao lado do comando date, talvez você prefira a "solução" NTP (network time protocol): Serverguide - NTP , muito mais fácil de manusear e mais preciso do que definir a data manualmente. Você pode usar um cronjob ou o daemon ntp (ntpd) para atualizar seu tempo a cada x horas / minutos ...

Espero que isso ajude!

    
por Wolfgang 30.09.2015 / 10:00