Как мне установить часовой пояс для 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.

Другие вопросы по тегам