我有几个cron事件需要运行,但在不同的时区。 例如,我有一个事件在UTC时间08:30每天运行,另一个事件是每天09:30 CET运行。 我已经阅读了一些文章,可以通过在命令前设置TZ=CET在crontab中设置时区,但是我猜测这并不能告诉Cron什么时候设置了以下事件时间。 这甚至有可能吗? 服务器正在以UTC的系统时区运行Debian。
TZ=CET * 13 * * * root date >> ~/date.log
我也试过CRON_TZ=CET但是也不pipe用。
TZ=CET
在你的crontab的顶部将设置从cron运行的作业的时区,但不会影响cron对作业开始时的时间的解释。
如果你想为整个cron设置时区,然后添加
export TZ=CET
到/etc/sysconfig/crond (或者等价configuration用于你的发行版)应该改变cron的时间观念。 你只需要find启动cron的初始化脚本的configuration文件。
请参阅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