我试图通过从当前时间设置几分钟(比方说10)来测试我的cron作业.例如,如果现在是下午5:00,我设置:
10 17 * * * dotnet <full path to .net core dll>
当时钟到达下午5:10时,作业不会被执行.
另一方面,如果我将cron作业设置为每分钟执行一次:
* * * * * dotnet <full path to .net core dll>
它每分钟都成功执行一次.
I’ve looked up reasons for why a bash command doesn’t execute.遗憾的是,这些建议都没有解释为什么一个有效,另一个没有.
操作系统:Ubuntu AWS实例
注意:date命令给出了我用作参考的正确时间.
解决方法
你检查过你的时区了吗? Cron使用本地系统时间运行,因此,例如,如果您的系统在UTC时间运行但是您有一个调整用户时间的TZ环境变量,那么您的crontab仍将以UTC时间执行.
建议测试:
将其设置为执行
10 * * * *
因此无论何时何时都会在几分钟内执行.如果它工作,那么最可能的问题是时区偏移使你指定的小时不是你要指定的小时:)