Команда linux "date -s" не работает для изменения даты на сервере

10763
nelaaro
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 

Я пробовал много разных форм этой команды, но ничего не получалось. При изменении даты на этом компьютере сервер, работающий как ВМ, не работает.

Наш журнал сообщений показывает сообщения, подобные этому

ntpd [3496]: коррекция времени на -1098 секунд превышает допустимый предел (1000); установите часы вручную на правильное время UTC.

Наш сервер сейчас около 20 минут.

Похоже, наш сервер не обновлял время правильно в течение нескольких дней.

22 ноября 19:29:23 имя хоста ntpd [1818]: время сброса -998,577519 с Ноя 22 19:32:34 hostname ntpd [1818]: синхронизировано с LOCAL (0), страта 10 Ноя 22 19:33:39 hostname ntpd [1818]: синхронизировано с 41.134.20.28, уровень 1 22 ноября 19:52:30 имя хоста ntpd [1818]: время сброса -998,992426 с 22 ноября 19:55:47 имя хоста ntpd [1818]: синхронизировано с LOCAL (0), уровень 10 22 ноября, 19:56:53 имя хоста ntpd [1818]: синхронизировано с 41.134.20.28, уровень 1 22 ноября 20:13:04 hostname ntpd [1818]: время сброса -999,374412 с 22 ноября 20:16:40 hostname ntpd [1818]: синхронизировано с LOCAL (0), страта 10 22 ноября 20:17:44 имя хоста ntpd [1818]: синхронизировано с 41.134.20.28, уровень 1 22 ноября 20:32:02 hostname ntpd [1818]: время сброса -999,716832 с 22 ноября 20:35:28 имя хоста ntpd [1818]: синхронизировано с LOCAL (0), уровень 10 Ноя 22 20:36:16 hostname ntpd [1818]: синхронизировано с 41.134.20.28, уровень 1 22 ноября 20:56:39 hostname ntpd [1818]: коррекция времени на -1000 секунд превышает допустимый предел (1000); установите часы вручную на правильное время UTC. 
4
Вы используете этот Linux на голом металле? Или это своего рода гость в среде виртуализации. Если последнее верно, гостевая дата / время могут быть синхронизированы с хостом. Должна быть возможность предотвратить такое поведение. Andrey Voitenkov 11 лет назад 0
@AndreyVoitenkov это ВМ. Я посмотрю и посмотрю, что я смогу узнать. nelaaro 11 лет назад 0

2 ответа на вопрос

3
nelaaro

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

После долгих поисков я обнаружил, что по умолчанию часы ВМ синхронизируются с часами HOST, работающими в управляющем домене, и не могут быть изменены независимо. Это меня удивило, потому что NTP все еще был настроен и, по-видимому, мог синхронизировать часы.

добавьте следующую строку в ваш файл /etc/sysctl.conf

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

затем перезапустите сетевой сервис

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

теперь вы можете установить дату с date -s ...

Вот ссылка на официальные документы по xen
Вот ссылка на официальные документы по ntp

Решите эту проблему на старом CentOS 5, работающем в Rackspace. Очень полезно. Благодарю. rmarscher 8 лет назад 0
1
Paul Bichis

Для пользователей Mageia и его родителей (RedHat, Mandrake, Mandriva) мы установим ntp и ntp-клиент с помощью urpmiкоманды:

# urpmi ntp ntp-client 

Затем мы запустим сервис и включим его автоматический запуск при перезагрузке.

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

Теперь мы проверим, включена ли timedatectl 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 # 

Без включения синхронизации NTP часовой пояс / время не изменится.

Теперь мы включим сетевую синхронизацию времени на основе NTP и установим новый часовой пояс:

# 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 
Добро пожаловать в Супер пользователя. Вы можете свободно редактировать свои собственные сообщения, но для вашей защиты это должно быть сделано под первоначальной учетной записью пользователя. Похоже, вы создали вторую учетную запись, что также помешает вашей возможности комментировать свой ответ. См. [Объединить мои учетные записи] (http://superuser.com/help/merging-accounts), чтобы объединить ваши учетные записи, что решит проблему. Для справки: два аккаунта: http://superuser.com/users/672303/paul-bichis и http://superuser.com/users/672304/paul-bichis. fixer1234 7 лет назад 1

Похожие вопросы