Cron不按分钟工作



(更新:显然在cron作业中没有秒。然而,我现在的问题是:如何解释cron的这种行为?谢谢你)

我有两个cron触发器,一个应该在另一个之前出现。

首先我有任务1每59秒执行一次

*/59 * * * * ?

任务2每59秒出现一次,但偏移15秒。

15/59 * * * * ?

这个工作正常。没有抱怨。现在我想把这些值移到分钟列。这一次,只有一分钟的偏移,可以忽略不计,因为任务每59分钟重复一次。

任务1

* */59 * * * ?

Task 2

* 1/59 * * * ?
突然,任务1一直在触发,而任务2根本不触发。上面描述的变化似乎是唯一影响这个的因素。

* */59 * * *表示当前小时内每分钟运行一次(第一个*为分钟),然后等待59小时再运行。

* 1/59 * * *表示在第一个小时每分钟运行一次(您不在其中,因此任务2永远不会触发),然后在50小时后每分钟运行一次。

我认为问题仍然是秒/分的混淆。

EDIT:注意某些版本的Cron不接受'/'前面的数字…它必须是一个范围。因此,对于您的使用情况,我会使用*/59 * * * *1-59/59 * * * *

因为没有

*    *    *    *    *  command to be executed
┬    ┬    ┬    ┬    ┬
│    │    │    │    │
│    │    │    │    │
│    │    │    │    └───── day of week (0 - 7) (Sunday=0 or 7)
│    │    │    └────────── month (1 - 12)
│    │    └─────────────── day of month (1 - 31)
│    └──────────────────── hour (0 - 23)
└───────────────────────── min (0 - 59)
http://en.wikipedia.org/wiki/Cron

相关内容

最新更新