cron在15,55和每隔一小时35

时间:2018-04-05 06:38:00

标签: cron

首先,这些cron是否相似,如果是这样,哪些是多余的?

a) 15,35,55 *   * * *
b) 15,35,55 */1 * * *
c) 15,35,55 0/1 * * *

在35分钟和15分钟/ 55分钟运行的cron将在一小时内互换?

例如

8am - 9am:   8:35am
9am - 10am:  9:15am and 9:55am
10am - 11am: 10:35am
11am - 12am: 11:15am and 11:55am
e.t.c

1 个答案:

答案 0 :(得分:0)

如果您想知道您的cron正在做什么,那么您可以轻松使用crontab-guru进行验证。

关于你的第一个问题,是的,这三个例子是相同的。手册说明如下:

  

man 5 crontab :步骤值可与范围结合使用。在/<number>的范围之后指定了跳过   数字在整个范围内的值。例如,可以使用0-23/2   在&#39;小时&#39;字段,指定每隔一小时执行一次命令   (V7标准中的替代方案是   0,2,4,6,8,10,12,14,16,18,20,22)。步数值也是允许的   在星号之后,如果指定要每两小时运行一次的作业,   你可以使用*/2

请参阅以下示例:

# Example of job definition:
# .-------------------------- minute (0 - 59)
# |        .----------------- hour (0 - 23)
# |        |      .---------- day of month (1 - 31)
# |        |      |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |        |      |  |  .---- day of week (0 - 6) (Sunday=0 or 7)
# |        |      |  |  |
# *        *      *  *  *   command to be executed
  15,35,55 *      *  *  *   command1
  15,35,55 */1    *  *  *   command2
  15,35,55 0/1    *  *  *   command3
  15,35,55 0-23/1 *  *  *   command4

所以在上面的示例中,command[1-4]将同时执行,每分钟15,35和55

对于你的第二个问题,最好这样做:

# Example of job definition:
# .------------------------ minute (0 - 59)
# |      .----------------- hour (0 - 23)
# |      |      .---------- day of month (1 - 31)
# |      |      |  .------- month (1 - 12) OR jan,feb,mar,apr .   
# |      |      |  |  .---- day of week (0 - 6) (Sunday=0 or 7)
# |      |      |  |  |
# *      *      *  *  *   command to be executed
  15    0/2     *  *  *   command1
  35,55 1/2     *  *  *   command1
  15    8/2     *  *  *   command2
  35,55 9/2     *  *  *   command2
  15    8-18/2  *  *  *   command3
  35,55 9-18/2  *  *  *   command3

此处,command1将在{00,02,04,06,...,22}:15{01,03,05,...,23}:{35,15}上执行,command2将在{08,10,...,22}:15以及{09,11,...,23}:{35,15}command3上执行将在{08,10,...,18}:15{09,11,...,17}:{35,15}上执行。