Cron

如何為 crontab 設置時區?

  • August 16, 2020

無論伺服器的目前時區如何,我都想將 UTC 用於單個使用者的 crontab 中的調度時間。我如何在 Debian Etch 上做到這一點?

您可以將變數設置TZ/etc/default/cron. 但這是所有 crontab 的時區。

另一種選擇是使用 fcron。該文件顯示了在每個 crontab 中設置時區的選項。

一些 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 有一個支持 CRON_TZ 功能的實驗性“cronie”包。

引用自:https://serverfault.com/questions/107482