我如何获得每30分钟运行一次的Cron作业?


224

我希望添加一个crontab条目,以便每隔30分钟,每小时的零零几分和接近小时的30分钟执行一次脚本。我有以下内容,但它似乎无法在0上运行。

*/30 * * * *

我需要使用什么字符串?

cron在OSX上运行。


您成功完成了crontab的工作吗?您的问题可能不是crontab,而是要使用它。
Eddie

它正在运行另外两个脚本,每分钟运行一个。
Darryl Hein

1
我在等下面的答案之一是否有效,只需等到接下来的30分钟到...在3分钟内。
Darryl Hein

2
...难道不能只是将0,30更改为0.5?如果0,5有效,为什么0,30不起作用?
乔治·斯托克

1
您从未告诉过我们它是否能按时完成!
艾迪

Answers:


487

做:

0,30 * * * * your_command

1
很棒!在CentOS crontab中,我必须做一些事情,例如0,30 * * * * root your_commandroot将成为我正在使用的用户。
prohamhammer 2014年

@prograhammer-这行是根的crontab还是其他用户的crontab的一部分?
穆罕默德·侯赛因巴希奇(MuhamedHuseinbašić),

@MuhamedHuseinbašić的问题很好,因为有2个不同的crontab(全局的crontab,然后是用户的crontab)。我得检查一下...
prograhammer

100

crontab不了解“间隔”,仅了解“计划”

有效时间:0-23-有效分钟:0-59

示例#1

30 * * * * your_command

这意味着“在每小时的分钟数为30时运行”(运行时间为:1:30、2:30、3:30等)

例子#2

*/30 * * * * your_command

这表示“当每小时的分钟被30整除时运行”(运行时间:1:30、2:00、2:30、3:00等)

例子#3

0,30 * * * * your_command

这表示“在每小时的分钟为0或30时运行”(运行时间为:1:30、2:00、2:30、3:00等)

这是获得与示例#2相同结果的另一种方法

例子#4

19 * * * * your_command

这意味着“在每小时的分钟数为19时运行”(运行时间为:1:19、2:19、3:19等)

范例#5

*/19 * * * * your_command

这意味着“在每个小时的分钟被19整除时运行”(运行时间为:1:19、1:38、1:57、2:19、2:38、2:57等)

注意:包括作者在内的各种用户对此帖子进行了一些改进


76

试试这个:

0,30 * * * * your command goes here

根据官方的Mac OS X crontab(5)联机帮助页,该/语法受支持。因此,要弄清楚为什么它不适合您,您需要查看cron的日志。在这些日志中,您应该找到明确的失败消息。

注意:Mac OS X似乎使用Vixie Cron,与Linux和BSD相同。


我一直成功使用* / 30,但我不记得我的一个应用程序是否过分重要,如果它仅每小时运行一次,那么我认为我从未检查过。
亚当·霍斯

2
@Adam Hawes:我过去也曾成功使用* / xx,但在Linux和其他UNIX上也是如此。我没有亲自尝试过Mac OSX。最初的问题没有说明哪个操作系统。一些较早的UNIX不支持* / xx
Eddie

您的回答也有用,但是弗拉德的代表较少,所以我给了他分数。
Darryl Hein

1
@DarrylHein大声笑,今天Eddie的代表少了:-p。我支持Eddie。
beginer


5

您提到您使用的是OS X-我过去曾经使用过cronnix。它不像自己编辑那样令人讨厌,但是它帮助我了解了列中的内容。只是一个想法。


否则,这也可能会有所帮助。
Darryl Hein

3

您可以同时使用' ' 除' / '符号。
但是,“ / ”更好。
假设“每5分钟”的情况。如果使用' ',则必须编写cron作业,如下所示:

0,5,10,15,20,25,30,35,....    *      *     *   * your_command

这意味着在所有已定义的分钟内,每小时都要运行一次your_command:0,5,10,...。

但是,如果使用'/',则可以编写以下简单而简短的作业:

*/5  *  *  *  *  your_command

这意味着在可被5整除的分钟内运行your_command或用简单的单词'0,5,10,...'运行

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.