我有如下所示的 cron 作业,希望它每 2 小时运行一次,但它每 2 分钟运行一次。
有人能告诉我哪里错了吗?
* */2 * * * /path-to-script
答案1
分钟(第一个)字段中的星号表示它每分钟运行一次,而不管其他字段。
您需要指定一小时内运行的确切分钟数。可以是整点 (0)、半点 (30) 等等。
0 */2 * * * /path-to-script
答案2
正确描述您所拥有的东西
* */2 * * * /path-to-script
是“每分钟运行一次,其中小时是 2 的倍数”。
这意味着 00:00 到 00:59、02:00 到 02:59、04:00 到 04:59,等等。与“每分钟运行”不太一样。不过,已经给出的解决方案是有效的。
答案3
我首先想到的是,您可以尝试指定它应该运行的所有时间:
0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /path-to-script
答案4
你也可以这样做:
0 0-23/2 * * * /path/to/the/script
或者如果你想要更具体地指定每 2 小时,你可以使用:
0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /path/to/the/script
小时值应该用逗号分隔。