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

Почему cronjobs запускаются не в то время?

У меня есть настройка 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 в ожидаемое время.