在指定时区调度作业-“拒绝创建过去的作业”

在指定时区调度作业-“拒绝创建过去的作业”

我正在尝试指定一个时区,以便at可以在 bash 脚本中使用它,而不必担心每年调整两次,并收到此错误:

在:拒绝创造注定过去的工作

我哪里做错了?


现在几点了?(英国刚刚从 BST 转为 GMT/UTC,进入冬季)

$ date
Sun 25 Oct 2020 11:00:11 AM GMT

这应该需要大约 5 分钟...

$ at 11:05 UTC
at: refusing to create job destined in the past

尝试使用服务器的命名时区...(实际上,我可以使用我能想到的任何时区 - 例如 CET、EST、EDT、CST、PST、PDT、AEST... - 文档/usr/share/doc/at/timespec只需说“time_base timezone_name”)

$ at 11:05 GMT
syntax error. Last token seen: G
Garbled time

最后证明它在没有任何时区的情况下可以正常工作。

$ at 11:05
warning: commands will be executed using /bin/sh
at>

[...]

版本 3.1.23
Debian 10.6

答案1

根据评论在这个答案中at使用环境变量设置的本地时间TZ。因此你可以这样做:

对于 UTC:

TZ=UTC at 11:05

或者对于使用 GMT/BST 的英国(如适用):

TZ=Europe/London at 11:05

相关内容