2016-03-07 12 views
1

У меня мало серверов NTP, которые я использую с несколькими платформами (Ubuntu, RHEL и т. Д.). У меня есть много машин, указывающих на эти серверы, и время синхронизируется, как и ожидалось. Мне нужно создать пользовательский часовой пояс на сервере NTP, чтобы я мог манипулировать настройками DST для этого часового пояса? То есть должны иметь возможность выполнять Spring/Fall DST в любую конкретную дату по мере необходимости.Как создать пользовательский часовой пояс с пользовательскими настройками DST с помощью NTP-сервера?

Возможно ли это?

+0

NTP распространяет UTC (также известный как GMT) без применения каких-либо временных зон. Как правило, временные зоны применяются на каждой машине (фактически, в каждом процессе на каждой машине), которая хочет отображать локальное время. Обычно, если вы хотите, чтобы куча компьютеров имела один и тот же часовой пояс, вы должны убедиться, что все они настроены одинаково (например, все они имеют один и тот же файл '/ etc/localtime'). –

+1

Если вы хотите создать свой часовой пояс, двигаясь вперед или назад в соответствии с вашим собственным расписанием (не из многих стандартных), вы можете создать свой собственный файл zoneinfo и скомпилировать его с помощью 'zic' программа. (И тогда вы либо установили новый файл как «/ etc/localtime», либо установили его под '/ usr/share/zoneinfo' и указали бы на'/etc/localtime' символическую ссылку, указывающую на него.) –

+0

Если это поможет если вы объяснили * почему * вы хотите создать пользовательский часовой пояс (это для определенного региона, какой из них или из-за некоторых пользовательских бизнес-правил или что-то еще?) Но, очевидно, это проблема [XY] (http: //meta.stackexchange.com/questions/66377/what-is-the-xy-problem), поскольку TZ и NTP не связаны. Это также не по теме для переполнения стека. –

ответ

1

Интересный вопрос - NTP не имеет концепции часовых поясов [1] или DST [2], то есть до базовой ОС/подсистемы.

NTP просто обслуживает время & Дата в UTC.

Не уверен, что ваш случай использования - но вам нужно либо посмотреть, как делать то, что вы хотите на уровне ОС, либо просто запустить все в синхронизации с вашей собственной версией UTC. (Как и у вас может быть закрытая временная область, обслуживать время с 1 сервера и манипулировать им, как вы хотите замедлить его или ускорить и т. Д.)

+1

Поддержание «закрытого» домена времени NTP работает, если вы хотите только ускорить его или замедлить на секунду или два. Если вы попытались перебросить мастер-сервер NTP вперед или назад на час, это было бы чрезвычайно разрушительно, и для всех остальных машин потребуется некоторое время (обычно от 20-40 минут до нескольких часов) поэтому было бы бесполезно для скоординированных переходов DST. –

+0

Да, это очень верно - вы могли бы замедлить очень долгое время, я думаю, но было бы беспорядком, если бы какая-либо система была связана с «реальным миром», я никогда не буду выступать взад-вперед в любой временной области - это ломает слишком много вещей ! – user3788685

0

Согласен с каждым ответом здесь. Сам NTP-сервер не имеет понятия о часовых поясах. Как указывалось выше, я смог получить последние tzdata из своего FTP-репо. Вручную отредактировал файл «northamerica» в VI, чтобы изменить правила DST. Сохранено и скомпилировано с использованием zic. Этот link также очень полезен.