Cron 表达式:0/1、1/1 和 * 之间的区别

Cron 表达式:0/1、1/1 和 * 之间的区别

0/1在 cron 表达式中,和1/1之间有什么区别*

答案1

这取决于条款所在位置

  • 0/1表示每次都是从 0 开始。
  • 1/1表示每 1 个从 1 开始。
  • *表示所有可能的值。

所以

  • 对于分钟、小时和星期几列,0/1*是等效的,因为它们都是基于 0 的。

  • 对于“月份中的天数”和“月份”列来说1/1,它们*是等效的,因为它们都是基于 1 的。

答案2

在 crontab 定义中,五个日期/时间字段的含义是:

  1. 每小时的哪几分钟(因此从 0 到 59)
  2. 一天中的什么时间(从 0 到 23)
  3. 每月的哪一天(从 1 到 31)
  4. 一年中的哪个月份(从 1 到 12 或名称 - Jan、Feb、...)
  5. 一周中的哪一天(从 0 到 6 或名称 - 周日、周一……)

* 表示从范围的第一个元素到最后一个元素。n/x 表示从 n 开始,在每个 x 值处。

对于你的情况,可以这样翻译:

  1. 0 分钟
  2. 从午夜开始,每小时一次(类似于 *)
  3. 每个月的每一天
  4. 从第一个月(一月)开始,每个月(类似于 *)
  5. 一周中的每一天(第一个 *)

结尾看起来不正确(?*),因为它位于命令的位置。或者,如果取自文件/etc/cron.d/而不是特定用户的 crontab,则位于用户名和命令的位置。

答案3

我认为 0/1 表示每 1 分钟或每分钟,而 1/1 表示每月,但我不确定它是否会以这种方式工作一个月。

相关内容