Назад | Перейти на главную страницу

Linux неверное время

У меня есть файл Ruby, который при выполнении создает файл XML и сохраняет его. Каждый раз время для файла (последней модификации) неверно (на 1 час вперед). Я также заметил, что задания cron выполняются на 1 час позже положенного срока.

При звонке date и hwclock в командной строке я вижу правильное время. Как это исправить?

Это не проблема часов, а проблема часового пояса. Для этого вы должны понимать разницу между UTC и местным временем.

Так что, вероятно, ваш сценарий Ruby не может видеть разницу или неверно интерпретирует настройку глобального часового пояса. Но чтобы убедиться, вы должны предоставить больше информации. Так, например, если часы установлены на UTC или местное время? какой у вас местный часовой пояс или смещение относительно UTC? Какой дистрибутив Linux вы используете? Прочтите, как настроить часовые пояса в вашем конкретном дистрибутиве Linux.

Недавно у меня была аналогичная проблема с ящиком Debian Lenny, который был установлен на UTC, когда мне нужно было местное время.

Сначала вам нужно скопировать (или создать символическую ссылку) ваш правильный файл zoneinfo из /usr/share/zoneinfo к /etc/localtime. Например я побежал ln -s -f /usr/share/zoneinfo/America/Los_Angeles /etc/localtime в моей системе.

Во-вторых, вам нужно отредактировать /etc/timezone чтобы отразить и ваш часовой пояс. В моей системе в файле указано America/Los_Angeles.

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