首先,这些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
答案 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}
上执行。