Como definir manualmente a hora para um registro de data e hora UTC no Linux?

1

Se eu quiser definir a hora que sei, posso usar um comando como este:

sudo date +%T -s '17:45:00'

E definirá o relógio para 17h45 no fuso horário do sistema. Isso significa que se eu tiver o sistema configurado para UTC, isso será 17:45 UTC, mas se o sistema estiver configurado para o horário do leste, o mesmo comando atualizará o relógio para ser 12:45 UTC. Existe alguma maneira de especificar o identificador de fuso horário junto com a hora, no comando date -s ?

    
por SoaperGEM 26.01.2018 / 17:19

3 respostas

0

Depois de experimentar um pouco de tentativa e erro, descobri. Para definir o tempo e forçá-lo a estar no UTC, posso fazer isso:

sudo date +%T%Z -s "17:45:00UTC"

Se eu quiser definir a data e a hora simultaneamente, posso fazer isso:

sudo date -s '2018-01-26T17:45:00Z'
    
por 26.01.2018 / 21:36
0

Na maioria dos sabores do Linux (especialmente Redhat / Centos), faça o seguinte:

# Delete the current time zone file
rm -f /etc/localtime

# Set it to the new value
ln -s /usr/share/zoneinfo/UTC /etc/localtime

Entendo que isso não usa o comando date conforme solicitado.

    
por 26.01.2018 / 23:59
0

Se o dispositivo em que você está atualizando o horário, não tiver uma conexão com a Internet. E você não se importa com a precisão de sub-segundos. Você pode usar isso em um computador com um horário correto conhecido para gerar um comando bash que define o horário correto usando o carimbo de data / hora UTC.

echo "date +%s -s @$(date +%s)"

Isso gerará algo como date +%s -s @1541377821 que você pode copiar e colar no outro computador.

    
por 05.11.2018 / 01:47

Tags