Como definir a hora atual no Linux?

63

Por que a saída dos seguintes comandos é diferente?

root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST  -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var# 

E posso alterar a hora atual no Linux?

    
por Wuffers 26.06.2011 / 15:23

11 respostas

81

Normalmente, você deseja que a hora seja definida automaticamente e, nesse caso, você desejará configurar ntpd para definir automaticamente a hora para você.

As especificidades diferem ligeiramente de distribuição para distribuição, mas se você estiver executando o Ubuntu, por exemplo, há um guia sobre configuração do NTP no Ubuntu . Caso contrário, basta usar o Google ntpd <distribution-name> e você provavelmente o encontrará.

Se você quiser configurá-lo manualmente, no entanto, você pode usar date --set="<date string>" . Exemplos disso podem ser:

date --set="23 June 1988 10:00:00"
date --set="10:00:00"
    
por 26.06.2011 / 17:28
34

Defina o Hardware Clock como a hora atual do sistema.

# hwclock --systohc

Defina a hora do sistema a partir do relógio de hardware.

# hwclock --hctosys
    
por 26.06.2011 / 16:13
20

apenas ntpdate ntp.ubuntu.com e tudo ficará bem.

Há mais informações sobre isso em Documentação oficial do Ubuntu

    
por 01.04.2013 / 15:13
12

Outro problema comum e muito chato é quando o fuso horário errado é selecionado ...

Verifique o fuso horário com a saída de data:

$ date

Fre Aug 23 18:47:04 UTC 2013

Para corrigir o tipo de fuso horário:

$ sudo tzselect

e selecione a região correta com os números correspondentes.

Uma segunda tarefa é definir o horário correto:

$ sudo date --set="18:37:00"

Ou simplesmente aproveite o tempo do HW-Clock:

$ sudo hwclock --hctosys

    
por 23.08.2013 / 18:51
2

Em CentOS os fusos horários estão localizados em /usr/share/zoneinfo/ , para alterar a data do sistema para um fuso horário específico , você pode:

Primeiro, faça um backup do arquivo localtime existente.

sudo mv /etc/localtime /etc/localtime.bak

Em seguida, crie o link:

sudo ln -s /usr/share/zoneinfo/Europe/Lisbon  /etc/localtime

Verifique a nova data do sistema digitando date .

Para ajustar manualmente a data do sistema Linux , você pode digitar:

date -s "11 MAR 2006 11:11:11"

OR

date --set="11 MAR 2015 11:11:11"

OR

date +%Y%m%d -s "20150311"

Para definir o Hardware Clock como a hora atual do sistema:

hwclock --systohc

OR

hwclock -w
    
por 03.04.2015 / 12:00
1

Tente isto:

date +%T -s "12:21:00"

ou

date +%T%p -s "12:22:20AM"
date +%T%p -s "12:23:30PM"
    
por 17.06.2015 / 11:24
0

date retorna o tempo dado como a hora a partir do momento em que a cpu começou mais o relógio interno do hardware dado o tempo, hwclock dá o tempo que o relógio interno tem.

O tempo baseado em cpu tende a derivar o tempo que a máquina fica ativa, essa é a razão por trás da existência do comando hwclock --hctosys . Também é uma das razões por trás do uso do Tempo de Protocolo de Rede, que é usado para coordenar o tempo internacionalmente na Internet.

    
por 26.11.2011 / 12:33
0

"hwclock" é a data do hardware (máquina) e "data" é a data do software (sistema operacional).

Para alterar a data do hardware do PC:

hwclock --set --date="2013-7-31 09:30"

Para alterar a data do software:

date --set "2013-7-31 09:30"
    
por 31.07.2013 / 09:32
0

use isto se não tiver cliente NTP

date -s $(wget -q -O - http://www.timeapi.org/eest/now | cut -d '+' -f 1 | tr -d : | tr -d - | tr -d T | cut -c 1-12)

eest na URL é o fuso horário local

Você pode usar utc ... e etc

    
por 26.09.2016 / 14:37
0

Para definir o fuso horário do relógio do sistema, faça o seguinte:

cp /usr/share/zoneinfo/America/La_Paz /etc/localtime
    
por 05.02.2017 / 15:11
0

systemctl restart ntpd funciona para mim. Isso se aplica ao RHEL e ao CENTOS OS.

    
por 11.04.2017 / 14:13

Tags