У меня проблема с установкой даты на моем сервере ...
$ ls -la /etc | grep localtime
lrwxrwxrwx 1 root root 23 Mar 6 12:07 /etc/localtime -> /usr/share/zoneinfo/GMT
Почему-то, хотя время 17:31:06 это GMT, суффикс часового пояса - EST ...
$ date
Tue Mar 6 17:31:06 EST 2012
И аппаратные часы тоже перепутались - 10:32:12 не EST:
$ hwclock --show
Tue 06 Mar 2012 10:32:12 PM EST -0.000276 seconds
Если я установил hwclock на системное время или местное время, он установит его неправильно:
$ hwclock --localtime
Tue 06 Mar 2012 10:34:22 PM EST -0.000190 seconds
$ date
Tue Mar 6 17:34:24 EST 2012
Есть идеи, что происходит?
Спасибо
Три простых правила, как не сойти с ума, имея дело со временем:
Во-первых: вы используете Unix (и, предположительно, NTP): Убедитесь, что вы установили BIOS / аппаратные часы вашей системы на UTC..
Абсолютно последнее, что вам нужно, это ваши аппаратные (BIOS) часы, сражающиеся с Unix, чей часовой пояс правильный и когда начинается / заканчивается летнее время. Установка аппаратных часов на UTC значительно упрощает жизнь.
Во-вторых: при изменении общесистемного часового пояса вам иногда нужно выйти и снова войти в систему, чтобы система поняла, что произошло. Обычно я предлагаю перезагрузку - это гарантирует, что каждая часть ОС получит удар по голове и поймет, что произошло.
Вы не хотите, чтобы cron продолжал работать в американском / восточном времени, если вы изменили часовой пояс машины на Гавайи.
В-третьих: если у вашей учетной записи пользователя все еще есть неправильное представление о часовом поясе, вероятно, что-то устанавливает TZ
переменная окружения - дважды проверьте свой .profile
и файлы оболочки rc.
Unix не предполагает, что каждый пользователь в системе находится в местном часовом поясе, поэтому он позволяет вам переопределить на уровне пользователя (или оболочки). Это очень полезно, если ваша система работает (например) по американскому / восточному времени, и у вас есть пользователи, входящие в систему из Японии - людям нравится, когда их система сообщает время, которое соответствует часам на их стене :)
Проблема заключалась в установке hwclock на системное время и наоборот (с чем я возился) фактически изменил файлы часовых поясов в / usr / share / zoneinfo. Мне пришлось скопировать свежие файлы zoneinfo с другого сервера.
Поэтому все, что я могу сказать, это НЕ играйте с установкой системных часов на аппаратные часы и наоборот (hwclock --hctosys
, hwclock --systohc
) если вы не знаете, что делаете!