如何为 crontab 设置时区?

如何为 crontab 设置时区?

我想在 crontab 中为单个用户使用 UTC 来安排时间,而不管服务器的当前时区如何。如何在 Debian Etch 上执行此操作?

答案1

TZ您可以在中设置变量/etc/default/cron。但这是所有 crontab 的时区。

另一种选择是使用 fcron。文档显示在每个 crontab 中设置时区的选项。

答案2

一些 cron 安装使用 CRON_TZ 来设置每个用户的 crontab 时间解释。

以下是 Centos 7 上 man 5 crontab 的一部分:

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 中设置变量,它会传递给子作业,但不会影响父 cron 作业的 TZ。Debian 有一个实验性的“cronie”包,支持 CRON_TZ 功能。

相关内容