O comando linux “date -s” não está funcionando para alterar a data em um servidor

4
date +%T --set="12:19:06"
12:19:06
date
Mon Nov 26 12:37:32 SAST 2012

date 112613232012
Mon Nov 26 13:23:00 SAST 2012
date
Mon Nov 26 13:42:27 SAST 2012

Eu tentei muitas formas diferentes deste comando, mas nada parece funcionar. A alteração da data neste servidor do computador em execução como VM não está funcionando.

Nosso log de mensagens mostra mensagens como estas

ntpd [3496]: a correção do tempo de -1098 segundos excede o limite de sanidade (1000); acerte o relógio manualmente para a hora UTC correta.

Nosso servidor está agora a cerca de 20 minutos.

Parece que nosso servidor não atualiza o horário corretamente há alguns dias.

22 de novembro 19:29:23 nome do host ntpd [1818]: redefinição de tempo -998.577519 s
22 de novembro 19:32:34 hostname ntpd [1818]: sincronizado com LOCAL (0), estrato 10
22 de novembro 19:33:39 hostname ntpd [1818]: sincronizado com 41.134.20.28, estrato 1
22 de novembro 19:52:30 hostname ntpd [1818]: redefinição de tempo -998.992426 s
22 de novembro 19:55:47 hostname ntpd [1818]: sincronizado com LOCAL (0), estrato 10
22 de novembro 19:56:53 hostname ntpd [1818]: sincronizado com 41.134.20.28, estrato 1
22/11 20:13:04 hostname ntpd [1818]: redefinição de tempo -999.374412 s
22 de novembro 20:16:40 hostname ntpd [1818]: sincronizado com LOCAL (0), estrato 10
22 de novembro 20:17:44 hostname ntpd [1818]: sincronizado com 41.134.20.28, estrato 1
22 de novembro 20:32:02 hostname ntpd [1818]: redefinição de tempo -999.716832 s
22 de novembro 20:35:28 hostname ntpd [1818]: sincronizado com LOCAL (0), estrato 10
22 de novembro 20:36:16 hostname ntpd [1818]: sincronizado com 41.134.20.28, estrato 1
22 de novembro 20:56:39 hostname ntpd [1818]: a correção de tempo de -1000 segundos excede o limite de sanidade (1000); acerte o relógio manualmente para a hora UTC correta.
nelaaro
fonte
Você está executando este linux no bare metal? Ou é um tipo de convidado no ambiente de virtualização. Se o último for verdadeiro, a data / hora do hóspede poderá ser sincronizada com o host. Deve haver uma opção para impedir esse comportamento.
Andrey Voitenkov 26/11/2012
@AndreyVoitenkov é uma VM. Vou dar uma olhada e ver o que posso descobrir.
N

Respostas:

3

http://www.linuxforum.com/threads/2154-Linux-ntp-time-Offset-on-Xen-VM-incorrect

Depois de muita pesquisa, descobri que, por padrão, os relógios da VM são sincronizados com o relógio HOST em execução no domínio de controle e não podem ser alterados independentemente. Isso foi surpreendente para mim porque o NTP ainda estava configurado e parecia capaz de sincronizar os relógios.

adicione a seguinte linha ao seu arquivo /etc/sysctl.conf

# Allow the VM to update it's own clock, and do not use the DOM host clock.
xen.independent_wallclock=1

depois reinicie o serviço de rede

/etc/init.d/network restart #for redhat, centos, fedora
/etc/init.d/networking restart #debian, ubuntu

agora você pode definir a data com date -s ...

Aqui está um link para os documentos oficiais do xen
Aqui está um link para os documentos ntp

nelaaro
fonte
Bata esse problema em um antigo CentOS 5 em execução no Rackspace. Imensamente útil. Obrigado.
precisa saber é o seguinte
1

Para usuários da Mageia e seus pais (RedHat, Mandrake, Mandriva), instalaremos o ntp e o ntp-client com o urpmicomando:

# urpmi ntp ntp-client

Em seguida, iniciaremos o serviço e permitiremos que ele seja iniciado automaticamente na reinicialização.

# systemctl start chronyd.service
# systemctl enable chronyd.service

Agora, verificamos se timedatectl tem a sincronização de horário da rede baseada em NTP ativada:

# timedatectl status
Local time: Wed 2016-12-07 13:39:04 EET
Universal time: Wed 2016-12-07 11:39:04 UTC
RTC time: Wed 2016-12-07 11:38:56
Timezone: Europe/Bucharest (EET, +0200)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
Sun 2016-10-30 03:59:59 EEST
Sun 2016-10-30 03:00:00 EET
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2017-03-26 02:59:59 EET
Sun 2017-03-26 04:00:00 EEST
# date
Wed Dec  7 13:39:11 EET 2016
# timedatectl set-timezone Europe/Bucharest
# date
Wed Dec  7 13:39:48 EET 2016
#

Sem ativar a sincronização NTP, o fuso horário / hora não será alterado.

Agora habilitaremos a sincronização de horário da rede baseada em NTP e definiremos o novo fuso horário:

# timedatectl set-ntp 1
# timedatectl set-timezone Europe/Bucharest
# date
Wed Dec  7 10:43:33 EET 2016
# timedatectl status
Local time: Wed 2016-12-07 10:43:59 EET
Universal time: Wed 2016-12-07 08:43:59 UTC
RTC time: Wed 2016-12-07 08:43:59
Timezone: Europe/Bucharest (EET, +0200)
NTP enabled: yes  
NTP synchronized: yes
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
Sun 2016-10-30 03:59:59 EEST
Sun 2016-10-30 03:00:00 EET
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2017-03-26 02:59:59 EET
Sun 2017-03-26 04:00:00 EEST
Paul Bichis
fonte
1
Bem-vindo ao superusuário. Você pode editar livremente suas próprias postagens, mas para sua proteção, isso deve ser feito na conta de usuário original. Parece que você criou uma segunda conta, o que também interferirá na sua capacidade de comentar sua resposta. Consulte Mesclar minhas contas para mesclar suas contas, o que resolverá o problema. Para referência, as duas contas são: superuser.com/users/672303/paul-bichis e superuser.com/users/672304/paul-bichis
fixer1234