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

sulc1iza  于 2023-05-16  发布在  Linux
关注(0)|答案(6)|浏览(575)

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

*/30 * * * *

我需要使用什么字符串?
Cron在OSX上运行。

yv5phkfx

yv5phkfx1#

执行:

0,30 * * * * your_command
8hhllhi2

8hhllhi22#

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等)x1c 0d1x

  • 注意:包括作者在内的各种用户对这篇文章进行了一些改进 *
qhhrdooz

qhhrdooz3#

试试这个:

0,30 * * * * your command goes here

根据官方Mac OS X crontab(5) manpage,支持/语法。因此,要弄清楚为什么它不为您工作,您需要查看cron的日志。在这些日志中,您 * 应该 * 找到一个明确的失败消息。
注意:Mac OS X似乎使用Vixie Cron,与Linux和BSD相同。

epggiuax

epggiuax4#

如果您的cron作业仅在Mac OS X上运行,则可能需要使用launchd。
Scheduling Timed Jobs (official Apple docs)
注意:虽然cron仍然受支持,但它不是推荐的解决方案。它已被弃用,转而支持launchd。
您可以通过简单的Web搜索找到其他信息(例如launchd Wikipedia page)。

5hcedyr0

5hcedyr05#

您可以同时使用“”、“”或“/”符号。
但是,“/”更好。
假设“每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,...'
因此,可除符号'/'始终是最佳选择;

3bygqnnd

3bygqnnd6#

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

相关问题