LINUX.ORG.RU

сбилось время

 , , ,


0

1

Ubuntu 16.04 Хотел синхронизировать время:

htpdate -ds -P IP:PORT ???.ntp.org (не помню какой, я их кучу перепробовал)
И получил интересный эффект data -u на один час больше hwclock как это исправить? То есть data -u показывает не правильно время...

Вот почему то RTC != UTC

timedatectl
      Local time: вт 2016-08-30 16:53:03 EEST
  Universal time: вт 2016-08-30 13:53:03 UTC
        RTC time: вт 2016-08-30 12:53:04

Если после успешной установки времени через ntpdate получается неправильное время, значит ошибка в timezone. Неправильная установка, сломанный файл или устаревший. hwclock при этом не принципиален, это отдельный вопрос.

Elyas ★★★★ ()
Ответ на: комментарий от Elyas

Если после успешной установки времени через ntpdate

После запуска htpdate я увидел что время которое он скачал и записал в лог правильное, но вот в системе в тот же момент время стало на 1 час позже... И сейчас, если я запускаю htpdate показывает правильное UTC, а date нет.

LinuxDebian ★★★ ()
Ответ на: комментарий от LinuxDebian

Разве UTC не должен брать RTC на старте?

Не должен.

Есть системные часы. Подразумевается, что они ведут отсчёт по Гринвичу (UTC). Для удобства показа местного времени его отличия от UTC описаны в таймзонах. ТО есть местное время - это те же самые системные часы, откорректированные по таймзоне. ntpdate меняет системные часы на время, которое на сервере. hwclock при этом не трогается.

На старте системы часто время устанавливается на основании показаний аппаратных часов(hwclock). Аппаратные часы могут считать по Гринвичу, или местное, или ещё какое - возможны варианты, естественно это должно быть учтено для корректной работы.

Elyas ★★★★ ()
Ответ на: комментарий от Elyas

Вообщем я понял эту тему можно закрывать и отрывать новую как синхронизироваться через прокси без вот такого изврата:

sudo date -s "$(wget -S  "http://www.google.com/" 2>&1 | grep -E
'^[[:space:]]*[dD]ate:' | sed 's/^[[:space:]]*[dD]ate:[[:space:]]*//' |
head -1l | awk '{print $1, $3, $2,  $5 ,"GMT", $4 }' | sed 's/,//')"
итп, так можно и на глаз ставить по телефону :)

LinuxDebian ★★★ ()