График Crontab в разных часовых поясах

18

Я хотел бы запланировать свои задачи в EST, но я хочу, чтобы фактическая задача выполнялась в системном часовом поясе по умолчанию.

Каков наилучший способ сделать это?

DD.
источник

Ответы:

25

Просто установите в вашем файле crontab переменную TZ = Some / Where. Вы можете установить TZ несколько раз, чтобы отдельные задания выполнялись в разных часовых поясах. Например:

TZ=UTC
* 7 * * * root date | mail root
TZ=CEST
* 7 * * * root date | mail root
TZ=PCT
* 7 * * * root date | mail root

в 7:00 UTC (или в часовом поясе, где запущен демон cron) будут запущены три задания, но у каждого своя переменная TZ.

datacompboy
источник
+1 не знал, что очень полезно.
Coops
+1 очень хороший совет!
Янне Пиккарайнен
Я хочу, чтобы все они работали в одном часовом поясе, но в разное время!
ДД.
Agh, хрон демон , который сам осознает переменной TZ уже есть: blogs.oracle.com/chrisg/entry/...
datacompboy
2
В этом вопросе я не вижу ничего, что указывало бы на то, что среда была OpenSolaris ... Викси Крон специально говорит, что это не работает.
Уомбл
14

В CENTOS-версии cron просто добавьте строку: CRON_TZ = America / New_York

Это будет запускать расписание в соответствии с нью-йоркским временем, но задача будет выполняться в часовом поясе по умолчанию.

DD.
источник
Спасибо за подсказку о часовом поясе по умолчанию. Требуется добавить переменную TZ в каждую строку crontab, если вы хотите, чтобы задание cron также выполнялось в восточном часовом поясе, например:export TZ=America/New_York; unix_command; next_cmd_in_sequence
Mike S
1
Просто хочу отметить, что вы можете иметь несколько настроек CRON_TZ в одном crontab - очень полезно. :)
Лестер Чунг
0

Вы можете запустить отдельный экземпляр cron с другой TZпеременной среды или просто научиться складывать или вычитать несколько часов.

romble
источник
2
Да ... не все так просто с изменениями перехода на летнее время, которые происходят в разное время в разных часовых поясах. Я думал, что переменная окружения TZ будет означать, что процесс работает в другом TZ?
ДД.
Да, и процесс, который имеет другой TZ, является Crond.
Уомбл
Как я могу заставить службу Crond работать в другом TZ? Извините, я новичок в Unix.
ДД.