Пример выпуска:
* 9 * * * echo 9
* 10 * * * echo 10
Вышеуказанное будет отправлять пользователю электронное письмо каждую минуту, но все ответы «9» будут происходить в 10:00 -> 10:59 AM, а «10» - в 11:00 -> 11:59 AM. ,
Работаю на
* * * * * /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 после исправления часового пояса? да
- Я удостоверился, что служба cron была перезапущена? да
- Я перезапустил службу 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 эхо их, не дает никакого выхода.
CRON_TZ
набор окр вар где - нибудь?hwclock --systohc
просто для полноты и добавитьcat /etc/sysconfig/clock
к вопросу?Ответы:
Еще одно место для поиска: сценарии запуска при загрузке
cron
или файл crontab старой школьной системы/etc/crontab
. Возможно, переменная окружения TZ установлена, скажем,/etc/init.d/cronie
или/lib/systemd/system/crond.service
я не уверен, что Debian использует для системы инициализации.Я видел нечто подобное, когда пытался
crond
запускать вещи каждый час:crond
запускал скрипт по нечетным часам. Я подозревал, но никогда не доказывал себе, что это связано с путаницей перехода на летнее время.источник
/etc/timezone
файл. ТЗ =cat /etc/timezone
. Этот файл кажется правильным (запустил контрольную сумму, чтобы удостовериться, что она идентична той, что должна быть). /lib/systemd/system/crond.service не хочет изменять какие-либо переменные TZ. Я собираюсь проверить предложение * / 2, чтобы увидеть, вижу ли я то же самое.