Komenda "data-s" linuksa nie działa, aby zmienić datę na serwerze

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

Próbowałem wielu różnych form tego polecenia, ale nic nie działa. Zmieniając datę na tym komputerze serwer działający w VM nie działa.

Nasz dziennik wiadomości pokazuje takie wiadomości

ntpd [3496]: korekta czasu o -1098 sekund przekracza limit zdrowia (1000); ręcznie ustawić zegar na prawidłowy czas UTC.

Nasz serwer ma teraz około 20 minut.

Wygląda na to, że twój serwer nie aktualizował poprawnie czasu przez kilka dni.

 22 listopada 19:29:23 nazwa hosta ntpd [1818]: reset czasu -998,577519 s
22 listopada 19:32:34 nazwa hosta ntpd [1818]: zsynchronizowany z LOCAL (0), warstwa 10
22 listopada 19:33:39 nazwa hosta ntpd [1818]: zsynchronizowany z 41.134.20.28, warstwa 1
22 listopada 19:52:30 nazwa hosta ntpd [1818]: reset czasu -998.992426 s
22 listopada 19:55:47 nazwa hosta ntpd [1818]: zsynchronizowany z LOCAL (0), warstwa 10
22 listopada 19:56:53 nazwa hosta ntpd [1818]: zsynchronizowany z 41.134.20.28, warstwa 1
22 listopada 20:13:04 nazwa hosta ntpd [1818]: reset czasu -999.374412 s
22 listopada 20:16:40 nazwa hosta ntpd [1818]: zsynchronizowany z LOCAL (0), warstwa 10
22 listopada 20:17:44 nazwa hosta ntpd [1818]: zsynchronizowany z 41.134.20.28, warstwa 1
22 listopada 20:32:02 nazwa hosta ntpd [1818]: reset czasu -999.716832 s
22 listopada 20:35:28 nazwa hosta ntpd [1818]: zsynchronizowany z LOCAL (0), warstwa 10
22 listopada 20:36:16 nazwa hosta ntpd [1818]: zsynchronizowany z 41.134.20.28, warstwa 1
22 listopada 20:56:39 nazwa hosta ntpd [1818]: korekta czasu o -1000 sekund przekracza limit zdrowia psychicznego (1000); ręcznie ustawić zegar na prawidłowy czas UTC. 
nelaaro
źródło
Czy używasz tego linuxa na gołym metalu? Lub jest to rodzaj gościa w środowisku wirtualizacji. Jeśli ta ostatnia jest prawdziwa, data / godzina gościa może być zsynchronizowana z hostem. Musi istnieć możliwość zapobiegania takim zachowaniom.
Andrey Voitenkov
@AndreyVoitenkov to VM. Będę musiał rzucić okiem i zobaczyć, co mogę się dowiedzieć.
nelaaro

Odpowiedzi:

3

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

Po wielu poszukiwaniach okazało się, że zegary VM są domyślnie synchronizowane z zegarem HOST działającym w domenie kontrolnej i nie mogą być niezależnie zmieniane. Było to dla mnie zaskakujące, ponieważ NTP był nadal skonfigurowany i wyglądał na w stanie zsynchronizować zegary.

dodaj następujący wiersz do pliku /etc/sysctl.conf

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

następnie uruchom ponownie usługę sieciową

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

teraz możesz ustawić datę przy pomocy date -s ...

Oto link do oficjalne dokumenty xen
Oto link do Dokumenty ntp

nelaaro
źródło
Rozwiąż ten problem na starym CentOS 5 działającym w Rackspace. Niezwykle pomocny. Dzięki.
rmarscher
1

Dla użytkowników Magei i jego rodziców (RedHat, Mandrake, Mandriva) zainstalujemy ntp i ntp-client z urpmi dowództwo:

# urpmi ntp ntp-client

Następnie uruchomimy usługę i uruchomimy ją automatycznie po ponownym uruchomieniu.

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

Teraz sprawdzamy, czy timedatectl ma włączoną synchronizację czasu sieciowego opartą na NTP:

# 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
#

Bez włączenia synchronizacji strefy czasowej / czasu synchronizacji NTP nie ulegnie zmianie.

Teraz włączymy synchronizację czasu sieciowego opartą na NTP i ustawimy nową strefę czasową:

# 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
źródło
1
Witamy w Super Użytkowniku. Możesz dowolnie edytować swoje własne posty, ale dla swojej ochrony musi to być zrobione na oryginalnym koncie użytkownika. Wygląda na to, że utworzyłeś drugie konto, które również będzie zakłócać Twoją zdolność komentowania Twojej odpowiedzi. Widzieć Połącz moje konta aby połączyć swoje konta, co rozwiąże problem. Dla porównania dwa konta to: superuser.com/users/672303/paul-bichis i superuser.com/users/672304/paul-bichis
fixer1234