У меня есть настройка cronjobs для ежедневного запуска на моем сервере Ubuntu.
например. 0 4 * * * команда
Они бегут, только на 8 часов раньше. При настройке сервера изначально было установлено время UTC. Я побежал sudo dpkg-reconfigure tzdata
чтобы установить сервер на CST, что на 6 часов ниже UTC. Интересно, что я нахожусь в PST, что на 8 часов отстает от UTC, но я не понимаю, как сервер мог это узнать.
Если я запустил команду date
, он показывает время в CST.
Должно быть какое-то место, где время настроено неправильно. Где я могу найти решение этой проблемы?
Вы не забыли перезапустить cron после изменения часового пояса? В противном случае cron может по-прежнему иметь свое старое представление о часовом поясе с момента его первоначального запуска.
Хотя это не является строго необходимым, я обычно предлагаю перезагрузить компьютер после изменения часового пояса - часовой пояс сервера никогда не должен меняться (или, по крайней мере, должен быть ОЧЕНЬ нечасто), и это гарантирует, что каждая программа на сервере была перезапущена и знает об изменении :-)
Что касается меня, я обнаружил, что когда я запускаю hwclock
время было на час иначе, чем когда я запускал date
команда. Чтобы исправить это, вы можете позвонить hwclock --systohc
который синхронизирует два раза и запускает cronjobs в ожидаемое время.