为什么 crontab 不会在设定的时间运行我的文件,而是每分钟运行一次?

为什么 crontab 不会在设定的时间运行我的文件,而是每分钟运行一次?

因此,我尝试让 crontab 在每天的设定时间运行一个 node.js 文件。我已经通过这样做进行了设置crontab -e。我已经使用以下命令测试了它每分钟运行一次:

* * * * * //path of files

这使得它即时运行得很好。但是,如果我尝试将其设置为特定时间,它就不会运行。例如,如果我尝试让它在中午 12:48 运行,它将不会运行:

48 12 * * * //path of files

我已经尝试解决所有问题,但这显然是时间问题。它是位于俄勒冈州的 EC2 服务器。我已将时间调整为俄勒冈州时间,但它仍然不会运行。

如果您设置特定时间而不是每分钟执行一次,是否需要使用 crontab 命令更改一些特殊的内容?您是否必须提前 5 分钟或更长时间设置特定时间才能使其运行?

我不知道为什么这不会在特定时间运行我的文件,但每分钟都会运行得很好。

答案1

解决方案是由 ikkachu 的建议提供的。具体来说,输入

grep -re cron /var/log/ 

或类似的东西。

这将给出一个包含时间和其他信息的列表。

列出的时间显示服务器实际上采用的是 UTC 时间。因此,调整 UTC 时间解决了问题。

找到服务器正在使用的确切时间,无论其实际位置如何,都是此类问题的解决方案。

相关内容