Intereting Posts
Установите apache, php и mysql на CentOS VPS Когда использовать grep, less, awk, sed Как использовать опцию '-config' для `setxkbmap`? Как разрешить «ваш браузер не разрешает доступ к буферу вашего компьютера» в Документах Google? rsync – обновить с помощью символических ссылок Применить рекурсивный chmod только к файлам или папкам Требуется вывод в хорошем формате с использованием сценария оболочки Удаленный DLNA / UPnP Media Client / Controller Почему большинство менеджеров пакетов distros не разрешают один и тот же пакет в нескольких версиях и новейших версиях без обновления? монтаж / преобразование изображения v2i в linux Сохранить кешированное видео на firefox? Как отключить стилизацию на страницах руководства? Linux: Текущее правильное / рекомендуемое использование игровой группы? Как создать псевдоним для каталогов и скопировать один файл в другой? systemd: изящно сбой резервного копирования, когда внешний диск не подключен

Замедление системных часов на сервере Linux

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

Как сказано в комментариях, включение DST не изменит ваше машинное время вообще, а только часовой пояс . Поэтому вам не нужно возиться с серверными часами (и вам не рекомендуется).

На стороне примечания есть проект, который делает что-то похожее на то, что вы хотите. Google использует его для «размазывания» дополнительной секунды в течение более длительного времени, когда IERS набирает секунду . В основном, в течение целого дня часы сервера Google работают немного медленнее, так что, когда вторая секунда применяется в полночь, серверы не имеют никакого времени. Опять же, я добавляю это просто FYI – это не решение для вашего дела.

Я думаю, что здесь есть путаница в часовом поясе.

Ожидаемый способ сохранить время в системе Unix / Linux – это синхронизировать часы BIOS и часы ядра с UTC. Затем у вас есть один (или более) часовой пояс для ваших пользователей. Преобразование часового пояса гарантирует, что основной таймер UTC отображается в локальное время пользователя.

Попробуем привести пример:

# UTC date/time as known by the system clock date -u Tue 31 Jan 14:06:23 UTC 2017 # Local time in the UK TZ=Europe/London date Tue 31 Jan 14:06:25 GMT 2017 # Local time in France TZ=Europe/Paris date Tue 31 Jan 15:06:27 CET 2017 # Local time in west coast USA TZ=US/Pacific date Tue 31 Jan 06:06:30 PST 2017 

Вот еще один:

 # UTC absolute reference TZ=UTC ls -l whos_pointing.txt -rw-r--r-- 1 roaima roaima 143 Jan 31 14:08 whos_pointing.txt # Local time in the UK TZ=Europe/London ls -l whos_pointing.txt -rw-r--r-- 1 roaima roaima 143 Jan 31 14:08 whos_pointing.txt # Local time in France TZ=Europe/Paris ls -l whos_pointing.txt -rw-r--r-- 1 roaima roaima 143 Jan 31 15:08 whos_pointing.txt # Local time in west coast USA TZ=US/Pacific ls -l whos_pointing.txt -rw-r--r-- 1 roaima roaima 143 Jan 31 06:08 whos_pointing.txt 

Файл является одним и тем же файлом, но его дата / время отображается по-разному в зависимости от того, где система думает, что я в любой момент.

 # Back in the USA export TZ=US/Pacific ls -l whos_pointing.txt -rw-r--r-- 1 roaima roaima 143 Jan 31 06:08 whos_pointing.txt touch whos_pointing.txt ls -l whos_pointing.txt -rw-r--r-- 1 roaima roaima 143 Jan 31 06:16 whos_pointing.txt # Jump across to the UK. Notice the file's timestamp has updated here too export TZ=Europe/London ls -l whos_pointing.txt -rw-r--r-- 1 roaima roaima 143 Jan 31 14:16 whos_pointing.txt 

Нетрудно настроить общесистемный часовой пояс по умолчанию, и некоторые пользователи не могут переопределить это с помощью переменной окружения TZ . У меня есть сервер в Калифорнии, где часовой пояс по умолчанию – US/Pacific но моя учетная запись содержит export TZ=Europe/London .

Библиотеки преобразования часовых поясов автоматически обрабатывают переход между летним и зимним временем в часовых поясах, где они применяются. Системные часы не перескакивают, но почасовое (или получасовое) смещение изменяется в соответствующий момент времени. Системы баз данных используют абсолютное время системы внутренне, поэтому на них не влияют явные переходы вперед или назад в отображаемое время пользователя. NTP также работает с абсолютным временем системы, так как он может обрабатывать серверы в разных часовых поясах по всему миру (это не нужно беспокоиться!).