【问题标题】:Run cron every 5 minutes in specific time span在特定时间跨度内每 5 分钟运行一次 cron
【发布时间】:2015-02-24 01:00:34
【问题描述】:

我想在这些时间跨度之间每 5 分钟运行一次 cron 作业:

  • 星期二:晚上 8 点 - 晚上 10 点
  • 星期三:晚上 8 点 - 晚上 10 点
  • 星期五:晚上 8.30 - 晚上 10.30
  • 星期六:下午 3.30 - 5.30 和下午 6.30 - 8.30
  • 周日:下午 3.30 - 晚上 7.30

我想我需要不止一行来实现它。

我当前的 crontab 如下所示:

COMMAND=curl -u user:password http://localhost/webapp/cache/build/openligadb >> /var/log/cron.log
# Tuesday + Wednesday 8pm - 10pm
# m     h           dom mon dow command
*/5     20-22       *   *   2,3 $COMMAND
# Friday 8.30pm - 10.30pm
# m     h           dom mon dow command
*/5+30  20-22       *   *   5   $COMMAND
# Saturday 3.30pm - 5.30pm and 6.30pm - 8.30pm
# m     h           dom mon dow command
*/5+30  15-17,18-20 *   *   6   $COMMAND
# Sunday 3.30pm - 8.30pm
# m     h           dom mon dow command
*/5+30  15-20       *   *   0   $COMMAND

我不知道如何测试/调试 cron 来查看我写的内容是否正确。

我猜目前它会每 5 分钟运行一次,如下所示:

  • 星期二晚上 8 点 - 晚上 10 点
  • 星期三晚上 8 点 - 晚上 10 点
  • 星期五晚上 8.30 - 晚上 10 点(应该是晚上 10.30)
  • 星期六下午 3.30 - 5pm(应该是 5.30pm)和 6.30pm - 8pm(应该是 8.30pm)
  • 周日 3.30pm - 8pm(应该是 8.30pm)

【问题讨论】:

  • 我建议 1) 设置 cron 以每隔 5 分钟运行一次,并让脚本决定它是否在所需的窗口之外,如果不是则提前退出,或者 2) 设置 @ 987654323@ 在每个窗口开始时运行一次脚本,并将脚本调整为每五分钟循环一次以进行特定次数的迭代。尽管您的上述方法也应该有效,但如果您的日程安排发生变化,则更难调整...
  • 第一种方法对我来说似乎更干净且可以接受。

标签: cron crontab


【解决方案1】:

如果没有适当的快捷方式,明确列出您需要的时间并没有错:

# Tuesday + Wednesday 8pm - 10pm
*/5     20-22       *   *   2,3 $COMMAND

# Friday 8.30pm - 10.30pm
30,35,40,45,50,55   20  *  *  5  $COMMAND
*/5                 21  *  *  5  $COMMAND
0,5,10,15,20,25,30  22  *  *  5  $COMMAND

# Saturday 3.30pm - 5.30pm and 6.30pm - 8.30pm
30,35,40,45,50,55   15,18  *  *  6  $COMMAND
*/5                 16,19  *  *  6  $COMMAND
0,5,10,15,20,25,30  17,20  *  *  6  $COMMAND

# Sunday 3.30pm - 8.30pm
30,35,40,45,50,55   15     *  *  0  $COMMAND
*/5                 16-19  *  *  0  $COMMAND
0,5,10,15,20,25,30  20     *  *  0  $COMMAND

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-08
    • 2021-12-04
    • 2014-10-16
    • 2022-12-18
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    相关资源
    最近更新 更多