(更新:显然在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