Как мне установить часовой пояс для crontab?
Я хотел бы использовать UTC для планирования времени в crontab для одного пользователя, независимо от текущего часового пояса сервера. Как мне сделать это на Debian Etch?
1 ответ
Вы можете установить переменную TZ
в /etc/default/cron
, но это часовой пояс для всех crontabs.
другая альтернатива использует fcron. документация показывает возможность установить часовой пояс в каждом crontab.
Некоторые установки cron используют CRON_TZ для установки пользовательской интерпретации времени crontab.
Вот часть crontab man 5 на Centos 7:
The CRON_TZ variable specifies the time zone specific for the cron table. The user should enter a time according to the specified time zone into the table. The time used for writing into a log file is taken from the local time zone, where the daemon is running
.
По умолчанию Debian использует исправленный vixiecron (согласно https://wiki.debian.org/cron) и не поддерживает функциональность часового пояса для каждого пользователя. Если вы установите переменную в crontab, она передается дочерним заданиям, но не влияет на TZ родительского задания cron. В Debian есть экспериментальный пакет cronie, который поддерживает функцию CRON_TZ.