ntpd и hwclock

Никто к ntpd функционал hwclock не прикручивал? Типа при отсутствии вышестоящих серверов регулярно (скажем раз в час) выполнять внешний батник типа
hwclock --ajust
hwclock --hctosys

А то что мы ныне имеем на машине с ntpd при упавшем внешнем сервере или сети? Время уходит (спешит или отстает) и некому его корректировать, ибо запускать hwclock при работающем ntpd нельзя -- коррецией времени должен заниматься кто-то один. А ntpd при упавшей сети сам тоже ничего не корректирует.

PS: а при завершении работы или раз, скажем, в неделю можно выполнять батник типа
hwclock --systohc

изучаю chrony

Вроде это как раз то, что нужно. Кто-нибудь это пользует?

Я не очень

Я не очень понимаю смысл этого действа. Ntpd довольно продвинутая программа: сервер не только разово синхронизирует часы, но и пытается исправить уход. Поэтому даже если синхронизироваться не удаётся, время должно идти более-менее правильно.

Если у Вас время идёт не правильно, попробуйте синхронизироваться с самыми близкими серверами 1 стратума...

Откуда это видно?

"пытается исправить уход"... каким макаром? Вот включили мы комп, инета нет. И долго. Скажем неделю (ну в деревню комп перевезли или notebook на природе мучаем). ntpd что-нибудь знает про RTC (hwclock), просчитал и запомнил уход этих часов (за время, когда inet был доступен) и теперь подкручивает hwclock вместе с системным временем ? Не верю. Ибо ничего про это в его документации не нашел. Вот в документации про chrony как раз все это и описано.

А ntpd при отсутствии инета -- это рассинхронизация всей локальной сети. chrony работает демоном и при отсутствии синхронизации с вышестоящим хостом. ntpd -- всех посылает нафиг. И запросто можно не заметить (при проблемах связи с вышестоящим ntp-сервером), что сеть-то -- не синхронизирована

Хотя вот есть у ntpd в конфигурации drift-файл. Если он используется при старте ntpd и отсутствии соединения с ntp-серверами для подкрутки системного времени (drift-файл -- уход часов системы от точного за какой-то промежуток), тогда вроде все в порядке -- и можно сказать, что ntpd "пытается исправить уход". А с rtc неплохо справляется и hwclock

PS: спасибо за критический вопрос

Конечно, очень

Конечно, очень неплохо прочитать man -a ntpd перед тем как задавать вопросы, но всё же:

Цитата:
ntpd что-нибудь знает про RTC

знает.

Цитата:
"пытается исправить уход"... каким макаром?

С помощью drift файла.

Цитата:
ntpd -- всех посылает нафиг.

А вот это очень странно. Может быть Вы его как-то не так настроили?

Цитата:
есть у ntpd в конфигурации drift-файл. Если он используется при старте ntpd и отсутствии соединения с ntp-серверами для подкрутки системного времени, тогда вроде все в порядке

По идее, если ntpd после старта не смог синхронизировать время, то это скажется на статусе системных часов, хотя исправлять время в соответствии с drift файлом он должен всегда...

Чего нашел в man

Чего нашел в man hwclock:

Automatic Hardware Clock Synchronization By the Kernel
       You should be aware of another way that the Hardware Clock is kept syn‐
       chronized  in  some  systems.   The  Linux kernel has a mode wherein it
       copies the System Time to the Hardware Clock every 11 minutes.  This is
       a  good mode to use when you are using something sophisticated like ntp
       to keep your System Time synchronized. (ntp is a way to keep your  Sys‐
       tem  Time synchronized either to a time server somewhere on the network
       or to a radio clock hooked up to your system.  See RFC 1305).

       This mode (we'll call it "11 minute mode") is off until something turns
       it  on.   The  ntp daemon xntpd is one thing that turns it on.  You can
       turn it off by running anything, including hwclock --hctosys, that sets
       the System Time the old fashioned way.

       To see if it is on or off, use the command adjtimex --print and look at
       the value of "status".  If the "64" bit of this  number  (expressed  in
       binary) equal to 0, 11 minute mode is on.  Otherwise, it is off.

Я, собственно, хотел прочитать про hwclock --adjust там, но этот вариант, похоже, более интересен.

Тема из книги

Тема из книги Некрономикона.

/etc/conf.d/hwclock из openrc, там этот параметр есть.

Не грусти, товарищ! Всё хорошо, beautiful good!

Не надо изобретать

Не надо изобретать велосипед!
ntpd специально сделан для синхронизации времени и (как и другие базовые проги *NIX'а) делает только это, но делает это очень хорошо!
А вам рекомендую использовать не один внешний сервер, а несколько. В том числе может быть и внутренние часы самого компа.
Изучайте матчасть и читайте доки!
Кстати, в доках написано, что при использовании ntpd НЕЛЬЗЯ менять время другими средствами, - иначе он неправильно рассчитает коррекцию и все будет очень плохо. :)

.

SysA написал(а):
ntpd специально сделан для синхронизации времени и (как и другие базовые проги *NIX'а) делает только это, но делает это очень хорошо!

К сожалению те благословенные времена давно канули в Лету.
Что в итоге породило целый класс костылей (sys-process/daemontools и т.д.).

:wq
--
Live free or die

SysA написал(а): Кстати, в

SysA написал(а):
Кстати, в доках написано, что при использовании ntpd НЕЛЬЗЯ менять время другими средствами, - иначе он неправильно рассчитает коррекцию и все будет очень плохо. :)

Это когда он запущен. А когда роутер выключен на неизвестное заранее время, причем не штатно, а просто света нет, да еще cmos clock за несколько месяцев аптайма уползли в неизвестном направлении, да еще юзается что-то вроде dovecot - вот тогда после включения без админа рядом таки было плохо =)
Здесь можно поискать и найти старую тему про ntpd... Там еще ntp-client участвовал ;)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".