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

问题描述 投票:0回答:6

我希望添加一个

crontab
条目来每 30 分钟、整点和整点后 30 分钟或接近的时间执行一个脚本。我有以下,但它似乎不能在0上运行。

*/30 * * * *

我需要使用什么字符串?

cron 正在 OSX 上运行。

linux macos cron
6个回答
546
投票

做:

0,30 * * * * your_command

196
投票

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:00、2:19、2:38、 2:57、3:00 等)

注意:包括作者在内的多个用户对这篇文章进行了一些改进


78
投票

0,30 * * * * your command goes here

根据官方 Mac OS X 
crontab(5) 手册页

,支持 / 语法。因此,要找出它为什么不适合你,你需要查看 cron 的日志。在这些日志中,您

应该
找到明确的失败消息。 注意:Mac OS X 似乎使用 Vixie Cron,与 Linux 和 BSD 相同。


10
投票

来自

安排定时作业(Apple 官方文档)

注意:尽管 cron 仍然受支持,但不是推荐的解决方案。它已被弃用,取而代之的是 launchd。

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

)。


9
投票
,

' OR 除 '/' 符号。 但是,“/
”更好。 假设“每 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,...”

所以,可除符号“/”始终是最好的选择;


5
投票
cronnix

。它不像自己编辑那样令人讨厌,但它帮助我快速了解了专栏的内容。只是一个想法。

© www.soinside.com 2019 - 2024. All rights reserved.