如果我将 Cron 作业设置为在几分钟后触发,则它不会执行

Ser*_*rov 6 linux ubuntu cron

我试图cron通过将它设置为距当前时间几分钟(假设为 10)来测试我的工作。例如,如果现在是下午 5:00,我设置:

10 17 * * * dotnet <full path to .net core dll>
Run Code Online (Sandbox Code Playgroud)

当时钟敲击下午 5:10 时,作业不会执行。

另一方面,如果我将cron作业设置为每分钟执行一次:

* * * * * dotnet <full path to .net core dll>
Run Code Online (Sandbox Code Playgroud)

它每分钟成功执行一次。

我已经查找了 bash 命令不执行的原因。不幸的是,这些建议都没有解释为什么一个有效而另一个无效。

操作系统:Ubuntu AWS Instance 注意:该date命令为我提供了用作参考的正确时间。

pjz*_*pjz 1

你检查过你的时区吗?Cron 使用本地系统时间运行,因此,例如,如果您的系统按 UTC 时间运行,但您有一个正在调整用户时间的 TZ 环境变量,则您的 crontab 仍将按 UTC 时间执行。

建议测试:

将其设置为执行于

10 * * * *

所以无论什么时间它都会在几分钟内执行。如果它有效,那么最可能的问题是时区偏移,使您指定的小时不是您想要指定的小时:)