【问题标题】:Cron job syntax debianCron 作业语法 debian
【发布时间】:2014-03-10 22:34:37
【问题描述】:
33 */27 * * * python /root/get_top.py

上述 sn-p 是每 27 小时 33 分钟运行一次,还是从整点后 33 分钟开始每 27 小时运行一次?

如果这不能让它每 27 小时 33 分钟运行一次,那么正确的语法是什么?

【问题讨论】:

    标签: cron debian


    【解决方案1】:

    它不运行,因为 cron 支持这些范围:

    minutes: 0-59
    hours: 0-23
    days of month: 1-31
    months: 1-12 or Jan-Dec
    days of week: 0-6 or Sun-Sat
    

    不支持 27 小时。无论如何,它不存在一天 24 小时中的第 27 小时。

    【讨论】:

    • 但是斜线的意思是“每个”。所以这应该是每 27 小时一次。就像 */4 是“每四个小时”
    • 斜线描述范围的增量。例如,第一个字段(分钟)中的 3-59/15 表示一小时的第三分钟,之后每隔 15 分钟。形式“*/...”等价于形式“first-last/...”,即在字段的最大可能范围上的增量。那是 24 小时
    • 27hrs and 33mins 的重复模式是 2w 6d 15h。然后,您应该添加许多行来计算 18 个项目。但我更愿意编写一个包装器,每天检查它是否应该在当天执行(即最后一次执行后的 27 小时和 33 分钟时间段将在当天过去)并使用at 安排它。
    【解决方案2】:

    第一个字段是分钟,因此将在整点后 33 分钟运行。

    但下一个字段是小时字段,它被设置为每天每 27 小时运行一次,或者换句话说,从不运行。

    【讨论】:

    • 那么如何让它每 27 小时 33 分钟运行一次?
    【解决方案3】:

    您误解了/,这意味着该数字可以被该数字整除,例如*/2 表示每2分钟一次,因为每2分钟该数字是偶数并且能够被2整除。

    当你想创建特定的东西时,你需要手动添加它,用逗号分隔,例如

    33 27,54 * * * python /root/get_top.py
    

    【讨论】:

    • 27,54 -- 这样 cron 只会运行两次,对吗?不是每 27 小时
    • 没错,如果你想要更精确的时间,可以考虑为一个命令创建多个 cron 行,这样联合就会创建你想要的循环
    猜你喜欢
    • 2011-11-17
    • 2018-12-10
    • 2014-01-02
    • 2015-10-05
    • 2016-06-17
    • 2014-05-25
    • 2012-10-17
    • 2012-02-23
    • 2010-11-08
    相关资源
    最近更新 更多