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


18

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

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

Ответы:


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.


+1 не знал, что очень полезно.
Coops

+1 очень хороший совет!
Янне Пиккарайнен

Я хочу, чтобы все они работали в одном часовом поясе, но в разное время!
ДД.

Agh, хрон демон , который сам осознает переменной TZ уже есть: blogs.oracle.com/chrisg/entry/...
datacompboy

2
В этом вопросе я не вижу ничего, что указывало бы на то, что среда была OpenSolaris ... Викси Крон специально говорит, что это не работает.
Уомбл

14

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

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


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

1
Просто хочу отметить, что вы можете иметь несколько настроек CRON_TZ в одном crontab - очень полезно. :)
Лестер Чунг

0

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


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

Да, и процесс, который имеет другой TZ, является Crond.
Уомбл

Как я могу заставить службу Crond работать в другом TZ? Извините, я новичок в Unix.
ДД.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.