如何每30分钟运行一次cron作业?

时间:2009-02-25 05:06:27

标签: linux macos cron

我想添加一个crontab条目来执行一个脚本,每30分钟一小时,每小时30分钟或接近一小时。我有以下内容,但它似乎没有在0上运行。

*/30 * * * *

我需要使用哪个字符串?

cron正在OSX上运行。

6 个答案:

答案 0 :(得分:457)

执行:

0,30 * * * * your_command

答案 1 :(得分:77)

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等)< / p>

示例#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等)

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

答案 2 :(得分:71)

试试这个:

0,30 * * * * your command goes here

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

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

答案 3 :(得分:9)

如果您的cron作业仅在Mac OS X上运行,则可能需要使用launchd。

来自Scheduling Timed Jobs (official Apple docs)

  

注意:虽然仍然支持它,但cron不是推荐的解决方案。它已被弃用,支持launchd。

您可以通过简单的网络搜索找到其他信息(例如launchd Wikipedia page)。

答案 4 :(得分:5)

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

答案 5 :(得分:2)

您可以同时使用“划分“ / ”符号。
但是,' / '更好。
假设“每5分钟”一次。如果您使用“”,则必须按如下方式编写cron作业:

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

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

但是,如果你使用'/',你可以写下以下简单和短暂的工作:

*/5  *  *  *  *  your_command

这意味着在可分为5分钟或更简单的单词'0,5,10,...'中运行your_command

所以,可分的符号'/'总是最好的选择;

相关问题