【问题标题】:Fifth field of crontabcrontab的第五个字段
【发布时间】:2014-08-19 13:23:56
【问题描述】:

我是 LINUX 新手。我对 cron 的工作原理有一个清晰的概念,但突然间我产生了一个小小的疑问。假设如果我想在 3 月 5 日凌晨 5 点 30 分执行ls 命令,那么我的cron 命令将是30 05 05 03 ?? ls。

我的简单问题是?? 位置会出现什么条目。假设我在那个位置输入 01 而不是 ?? ,会发生什么。如果这是一个简单的问题,请原谅,请帮我解决。

【问题讨论】:

    标签: cron crontab


    【解决方案1】:

    你的情况

    30    05    05  03   *        command to be executed
    -     -     -   -    -
    |     |     |   |    |
    |     |     |   |    +----- day of week (0 - 6) (Sunday=0)
    |     |     |   +------- month (1 - 12)
    |     |     +--------- day of        month (1 - 31)
    |     +----------- hour (0 - 23)
    +------------- min (0 - 59)
    

    ?? 表示您不介意星期几,因为您已经说明了确切的日期。如果您放置01,它仍然会运行,但它是多余的。

    【讨论】:

    • 您要查找的标记是*,而不是??。除非您的 cron 版本与大多数其他版本不同 :-)
    • 所以假设如果我在那个地方使用 01 而不是 ??,那么只有在星期一时,这项工作才会在 3 月 5 日凌晨 5 点 30 分执行。我说的对吗?
    • 是的。这意味着如果下一个 5-march @ 5:30 AM 不是星期一,它将不会运行。
    【解决方案2】:

    字符* 表示 crontab 文件中的“任何值”,因此您可以使用它。

    如果您使用1,您的作业只会在您已经指定的条件下执行并且这是星期一。

    【讨论】:

      【解决方案3】:

      该条目适用于您希望它运行的星期几。如果您将01 放在那里,那么它将仅在 3 月 5 日(恰好是星期一)的 5:30 运行。如果您想指定“一周中的任何一天”,请使用*

      【讨论】:

        【解决方案4】:

        您将输入 *,这意味着“这里一切正常”。该字段是星期几,您不在乎是星期一还是星期二等。如果您输入01,您将只在该日期是星期一的年份运行。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-12-10
          • 1970-01-01
          • 2021-12-04
          • 1970-01-01
          • 1970-01-01
          • 2020-08-08
          • 2013-12-19
          相关资源
          最近更新 更多