У меня есть несколько событий крона, которые должны работать, но на различных часовых поясах. Например, у меня есть одно событие, которое выполняет каждый день в 8:30 UTC и другое событие, которое работает каждый день в 9:30 CET. Я прочитал некоторые статьи, которые часовой пояс может быть установлен в crontab путем установки TZ=CET
перед командой, но я предполагаю, что это не говорит Крона, во сколько следующий раз события установлен в. Это даже возможно? Сервер выполняет Debian с системным часовым поясом в UTC.
TZ=CET
* 13 * * * root date >> ~/date.log
Я также попробовал CRON_TZ=CET
но это не работает также.
TZ=CET
в верхней части вашего crontab
установит часовой пояс для заданий, запускаемых из cron, но не повлияет на интерпретацию времени cron
для при запуске задания.
Если вы хотите установить часовой пояс для cron
в целом, добавьте
export TZ=CET
в / etc / sysconfig / crond
(или где-либо в эквивалентную конфигурацию предназначен для вашего дистрибутива) должен изменить представление cron
о времени. Вам просто нужно найти файл конфигурации, полученный из сценария инициализации, запускающего cron
.
См. https://askubuntu.com/questions/54364/how-do-you- set-the-timezone-for-crontab для более подробного обсуждения этого.
Если вам просто нужно установить TZ
для определенных заданий, тогда установите его в начале команды. Например ...
*/1 * * * * TZ=Japan date >> date.log
*/1 * * * * TZ=CET date >> date.log
*/1 * * * * date >> date.log
nph9@goat$ cat date.log
Mon May 11 22:34:01 JST 2015
Mon May 11 14:34:01 BST 2015
Mon May 11 15:34:01 CEST 2015