68

我不确定如何在每天 3 个特定时间运行 cron 作业。我想在下午 1 点、下午 2 点和下午 3 点运行它。

是否有可能,使用单个表达式?

4

5 回答 5

127

你可以使用这个:

# m   h   dom mon dow   command
0 13,14,15 *   *   *     /home/user/command

/home/user/command将在 13:00、14:00 和 15:00 运行

于 2012-11-27T13:00:01.977 回答
9

正如列尼克所说,它可以用单一表达式来完成。

0 13,14,15 * * * <your-script-to-run>

查看此 geedkstuff 链接以获取更多示例

于 2012-11-27T13:02:41.817 回答
8

虽然给出的答案是正确的,但没有经验的用户可能不知道在哪里放置这个表达式。您必须编辑crontab文件,例如:

crontab -e

你在那里添加

0 13,14,15 *   *   *     /home/user/command

在 13:00、14:00 和 15:00 执行您的命令。另请注意,user必须用执行命令的用户帐户替换。

于 2017-01-25T04:24:46.467 回答
6

您也可以尝试以下方法:

0 13-15 * * * /home/apps/sample.sh
于 2014-12-09T13:35:29.410 回答
0

对于任何登陆这里的人->有用的工具:

https://crontab.guru/

请更喜欢范围+步进而不是逗号:

Example: Run every 2h from 9h to 16h
m    h     dom mon dow   command
0  9-16/2   *   *   *     /home/user/command

也适用于分钟:

    m        h     dom mon dow   command
10-30/10  9-16/2   *   *   *     /home/user/command

Crontab guru显示了它的含义,以及下一个计划的作业。

例如,我在 10h05 输入了这个 cron:

在此处输入图像描述

于 2021-11-18T09:10:16.863 回答