【问题标题】:cron expression for time complexities时间复杂度的 cron 表达式
【发布时间】:2015-11-07 00:22:32
【问题描述】:

从 2015 年 11 月 7 日晚上 18:35 到 2019 年 12 月 25 日上午 11:30,每 4 天运行一次的 cron 表达式是什么。

有人能解释一下这个复杂的 cron 表达式吗,我在网上看到的所有例子都没有结合间隔天数和开始日期/时间到结束时间/日期。

问候。

【问题讨论】:

    标签: cron expression


    【解决方案1】:
    35 18 */4 0 
    

    这会让你得到你想要的。我会在脚本中使用日期检查条件来将其保持在您决定的范围内。

    类似:

    if [$(date +%Y%m%d) -ge 20151107] && [$(date +%Y%m%d) -le 20151225]
    

    显然我在条件句中很仓促...如果您想包含时间(晚上 11:30),您可能想添加更多逻辑或使用日期格式来确保您得到了您想要的需要。另外,我假设您正在使用的脚本是一个 shell 脚本。如果不是,那么我的条件语法不准确。

    您还可以使用其他 cron 表达式来开始和完成工作...... 2015 年 11 月 7 日晚上 18:35 至 2019 年 12 月 25 日上午 11:30。

    #1
    35 18 7 11 * 2015 chmod +x /path/to/script
    
    #2 - base
    35 18 */4 0 test -x /path/to/script && /path/to/script
    
    #3
    30 11 25 12 * 2019 chmod -x /path/to/script   
    

    【讨论】:

    • 但是我们在哪里提到了日期、月份和结束时间,我只看到开始时间和每 4 天的间隔。
    • 是的,你可以做一个追加,比如 if [$today -ge $start] && [$today -le $finish]
    • 你能给我上面用例的cron表达式吗
    • 我做到了。正如我所说,日期范围处理最好在 cron 安排的脚本中进行。您可以在 cron 中做的最好的事情是指定时间和每四天一次。
    • 我明白你在回复时所说的话,但在我们的用例中,我们不能这样做,我正在尝试为上述场景创建一个 cron 表达式并在 java 中调用石英调度程序,所以我们不能通过包含所有日期、时间和间隔来创建 cron expr??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 2011-03-17
    相关资源
    最近更新 更多