противоречия crontab и DST с разным часовым поясом

С сервера, размещенного в Польше (UTC +01: 00), есть ли способ, которым я могу последовательно выполнять вход в crontab в 9 утра по нью-йоркскому времени (UTC -05: 00)?

Для меня это не было тривиальным, так как летнее время, закончившееся в прошлое воскресенье в Польше, поэтому рабочие места, которые я запланировал в 15:00 по местному времени большую часть года, опаздывают на этой неделе на час с точки зрения Американские фондовые биржи.

Я помню решение Конгресса несколько лет назад о продлении срока службы DST, в результате чего вещи не синхронизировались в течение нескольких недель в год.

Одно обходное решение, в котором я даже не уверен, будет работать (что я предпочитаю избегать в любом случае) заключается в том, что когда у меня есть задача:

0 14 * * * something 

Я получаю время NY TZ=":US/Eastern" date +%s и сравниваю с использованием арифметики bash, должен ли я sleep 3600 или нет, прежде чем запускать something

2 Solutions collect form web for “противоречия crontab и DST с разным часовым поясом”

Если это единственная работа, вы можете использовать kluge следующим образом:

 # MM HH DM MN DW CMD 0 * * * * TZ=':America/New_York'; if [ `date +\%H` -eq 9 ]; then actual-command-here; fi 

Я думаю, что вы можете установить переменную окружения как в crontab, если не просто поместить все это в sh -c или shell-скрипт …

У меня есть задание cron, которое мне нужно запускать каждую неделю, на которую я использую подобный kluge.

Хорошо, так как изменение TZ env на date , похоже, вызывает правильное текущее время в Ubuntu, это, по крайней мере, обходное решение (которое я пытался не полагаться):

 SHELL=/bin/bash 0 14 * * 1-5 [ $[10#$(date +\%H) - 10#$(TZ=":US/Eastern" date +\%H)] == 5 ] || sleep 3600; w;df 

Таким образом, это направлено на выполнение w;df в 9:00 по восточному времени. Вместо часа 15 я вставил 14 с возможностью спать один час (3600 секунд), прежде чем запускать дальнейшие команды.

  • Почему rsync ищет DSA вместо ключа RSA при запуске cron job?
  • Команда времени выполнения cron
  • Crontab меняет MAILTO только на одну конкретную работу в crontab Root
  • Получать электронную почту по электронной почте MAILTO на основе статуса выхода
  • постоянно устанавливая vim как $ EDITOR для crontab
  • Кто начинает автоматические обновления?
  • Создайте cron как пользователь apache и запустите его как пользователь root
  • Запуск процесса в заданном временном окне
  • CasperJS и PHP In Cron Job не могут открывать файлы, отлично работают при запуске Manualy
  • Использование 606 разрешений файлов в файле /etc/cron.d. (root) BAD FILE MODE)
  • CentOs 7 CronTab установлен JAVA_HOME
  • Interesting Posts

    Как узнать размер файла приложений Ubuntu Прежде чем загружать их на Chromebook в режиме разработчика

    Как отключить переключение виртуальных консолей Alt-Arrow?

    Невозможно сделать загрузочный Кали Grub2 с LVM + LUKS

    Shellscript для удаления определенных тегов в файле HTML

    Передача именованных аргументов в виде массива в сценарии оболочки

    Будет ли загрузочный ubuntu в режиме восстановления использовать раскладку клавиатуры по умолчанию?

    добавление специальных символов в имена папок

    Отправить письмо по адресу SSH connection OpenWrt

    Обратный grep, чтобы получить последние пару вхождений в файл

    Как установить vxfs FS на два или более серверов Solaris?

    Как настроить шлюз для wlan0?

    Определите интерфейс, который использовался для загрузки через PXE

    Почему я все еще получаю приглашение пароля с помощью ssh с аутентификацией ключа?

    Домашний каталог пользователя

    Не удалось загрузить файл com32 vesamenu.c32 на установку centOS

    Linux и Unix - лучшая ОС в мире.