Роботи Cron працюють за 1 годину, загальна незгода з системним часом


9

Приклад випуску:

* 9 * * * echo 9
* 10 * * * echo 10

Вищезазначене буде вимикати електронну пошту для користувача щохвилини, але всі "9" відповіді відбудуться о 10:00 -> 10:59 ранку, тоді як "10" надійдуть о 11:00-> 11:59 .

Запуск роботи

* * * * * /bin/date ; /bin/date -u

Повернено очікувану (правильну) дату та час. це було справедливо як для UTC, так і для місцевого часу (Америка / Денвер). Змініть це завдання так, щоб він виконувався щохвилини в певну годину, коли компенсується робота (завдання, яке потрібно виконати о 9, виконувати в 10 і т.д. тощо).

Поточну налагодження я завершив:

Гаразд, дивно. Можливо, мій файл часового поясу якимось чином зіпсований? Давайте перевіримо це

diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
Files /etc/localtime and /usr/share/zoneinfo/America/Denver are identical

Я перевірив апаратний годинник, щоб перевірити, чи це вимкнено чи якимось чином не погоджується з моїми локальними налаштуваннями (запустити як root).

date ; hwclock
Wed Oct 26 10:50:13 MDT 2016
Wed 26 Oct 2016 10:50:14 AM MDT  -0.204171 seconds

Здається, вимкнеться на секунду, але це не повинно змусити моїх робочих записів працювати з графіком на повну годину, правда?

Я також впевнений у наступному:

  • Чи змінився мій часовий пояс нещодавно? Ні
  • Чи намагалися ви вручну виправити часовий пояс? Так
  • Ви скинули cron після встановлення часового поясу? Так
  • Я переконався, що служба перезапуску була перезапущена? Так
  • Я перезапустив службу керування? Так
  • Ви справді впевнені, що cron був перезапущений? На 100% впевнений, що Cron був перезапущений

Інша потенційно відповідна інформація:

Запуск Debian.

cat /etc/debian_version
8.6

Поточне ядро

uname -a
Linux BigBox 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux

Оновлена ​​налагодження:

Побіг 'hwclock --systohc', не помітні зміни в поведінці. Запустив цю команду для перевірки

date;hwclock
Wed Oct 26 12:39:09 MDT 2016
Wed 26 Oct 2016 12:39:11 PM MDT  -0.875328 seconds

Я не можу запустити 'cat / etc / sysconfig / clock', оскільки цей файл не існує. Запуск команди find під / etc / tree для пошуку "clock" підтверджує, що я не маю жодного файлу під цим іменем.

Перевірив, чи не знаю я нічого, що я встановив змінну CRON_TZ. Він не встановлюється на рівні користувача, ані на рівні коренів. Якщо Cron відлунювати їх, не дає результатів.


1
Чи встановлено CRON_TZenv var де-небудь?
триг

спробувати hwclock --systohcпросто для повноти та додати cat /etc/sysconfig/clockдо питання?
steve

Обидві пропозиції додали до моєї інформації, на жаль, жодна цінність не надала. CRON_TZ не встановлений ні в якому середовищі, я можу бачити, повторна синхронізація годинника дала ті самі результати, що і раніше (перевірено все-таки, чи змінилось це, чи не так), і у мене немає '/ etc / sysconfig / clock 'файл.
jmurrayufo

Відповіді:


1

Ще одне місце, на яке слід звернути увагу: сценарій (и) запуску для завантаження cronабо файл crontab старої шкільної системи /etc/crontab. Можливо, змінна середовища TZ встановлюється, скажімо, /etc/init.d/cronieабо /lib/systemd/system/crond.serviceя не впевнений, що Debian використовує для системи init.

Я бачив щось подібне, коли намагався crondзапускати речі кожні дві години:

0 */2 * * * /opt/dbms/rainstor/archiving/ama_term

crondзапускав сценарій у непарні години. Я підозрював, але ніколи не доводив собі, що це пов'язане з плутаниною літнього часу.


/etc/init.d/cron захоплює /etc/timezoneфайл. TZ = cat /etc/timezone. Цей файл видається правильним (встановив контрольну суму просто для того, щоб подвійно переконатися, що він ідентичний тому, що має бути.). /lib/systemd/system/crond.service, схоже, не хоче змінювати будь-які змінні TZ. Я збираюся перевірити пропозицію * / 2, щоб побачити, чи бачу я те саме.
jmurrayufo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.