Чому кроноші працюють в неправильний час?


10

У мене є налаштування cronjobs, яке потрібно запускати щодня на моєму сервері Ubuntu.

напр. 0 4 * * * команда

Вони бігають, за винятком того, що вони бігають на 8 годин раніше. Під час налаштування сервера спочатку було встановлено час UTC. Я побіг sudo dpkg-reconfigure tzdataвстановити сервер на CST, який на 6 годин відстає від UTC. Цікаво, що я в PST, який на 8 годин відстає від UTC, але я не бачу, як сервер міг це знати.

Якщо я запускаю команду date, вона показує час у CST.

Має бути місце, де час налаштовано неправильно. Де я можу шукати, щоб вирішити це?

Відповіді:


21

Ви пам'ятали перезапустити cron після зміни свого часового поясу? Якщо ні, то у cron все ще може бути своє старе уявлення про часовий пояс з моменту його початку.

Хоча це не є суворо необхідним, я зазвичай пропоную перезавантажити машину після зміни часового поясу - часовий пояс сервера ніколи не повинен змінюватися (або принаймні він повинен бути ДУЖЕ рідкісним), і це гарантує, що кожна програма на сервері буде перезапущена і знає про зміну :-)


Ні, я не перезапускався. Я зробив це і буду чекати, щоб побачити, чи це проблема (що, на мою думку, це може бути).
Метт Маккормік

Після перезапуску служби cron тепер він запускається в той самий час із часовим поясом, який я встановив за допомогою tzdata. Дякую.
Донні Курня

1
Я помітив, що записи в / var / log / cron показували неправильний час навіть після перезавантаження кронда. Перезапуск rsyslog виправив цю проблему.
zymhan

@WildVelociraptor Так, syslog також використовуватиме старі дані часового поясу до перезапуску (тому він буде міняти речі неправильно, хоча вони працюють у потрібний час). Все, що давно працює та розпочато до зміни даних часового поясу, буде демонструвати подібну поведінку, саме тому, як правило, вказано перезавантаження.
voretaq7

7

Для мене я виявив, що коли я запускаю hwclockкоманду, час був на годину інший, ніж коли я виконував dateкоманду. Щоб виправити те, що ви можете зателефонувати, hwclock --systohcякий буде синхронізувати два рази та запустити кронштейн у очікуваний час.


У моєму випадку обидва dateі hwclockповідомляють однаковий час, але cron все ще не робить того, чого я б очікував.
невдало

Ти вбережиш моє життя, спасибі так багато годинника --systohc виправити неправильну для мене дату =)
Маркус
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.