Насколько я понимаю, в ntpd есть опция -g, позволяющая одноразово устанавливать часы для больших перекосов. Затем запускается демон и постоянно настраивается. Если перекос становится слишком большим, демон завершает работу с ошибкой.
При таком понимании достаточно ли запустить диспетчер процессов, например pm2, который будет запускать ntpd -g, когда демон перестанет работать?
Если ntpd
регулярно закрывается, это означает, что у него проблемы с синхронизацией часов. Вы, вероятно, захотите получить уведомление, если это произойдет, поэтому заставьте ваш монитор процесса отправлять электронное письмо или оповещение при каждом перезапуске ntpd
может быть хорошей идеей.
Однако, если у вас очень плохие местные часы, это может происходить часто, поэтому объедините -g
флаг (установленный по умолчанию в некоторых дистрибутивах) с tinker panic 0
в твоем ntp.conf
(хранить ntpd
от выхода) может потребоваться. Если вы сделаете это, вы, вероятно, захотите контролировать частоту и смещение с помощью системы мониторинга.
Для больших временных исправлений я предлагаю вам использовать ntpdate
который, благодаря реализации более простого протокола SNTP, намного быстрее и лишь немного менее точен, чем ntp.
Обычно я использую его при загрузке: после корректировки большой разницы во времени с ntpdate
, то ntpd
сервис может делать свою работу, выпуская точные корректировки времени.