百科网

首页 > 生活常识 > 生活经验

生活经验

详解cron表达式?

生活经验佚名2023-05-10

Cron表达式是一个时间表达式,用于在指定的时间间隔内运行程序。它由6个字段组成,每个字段表示不同的时间单位,包括秒、分钟、小时、天、月和星期。Cron表达式的格式如下:分 时 日 月 星期 年。

其中,星号(*)表示所有可能的值,例如,——* * * * * *——表示每秒都运行程序。除了星号之外,还可以使用其他符号来表示不同的时间间隔和时间段。

在本文中,我们将详细介绍Cron表达式的语法和用法,以帮助您更好地理解和使用它。

1. 分钟字段

分钟字段表示程序应该在哪些分钟运行。它可以使用以下符号:

- 星号(*):表示所有分钟

- 逗号(,):用于指定多个分钟,例如:——0,15,30,45——表示每小时的0、15、30和45分钟

- 中划线(-):用于指定一个时间段,例如:——10-20——表示从10分钟到20分钟

- 斜杠(/):用于指定一个时间间隔,例如:——*/5——表示每5分钟

示例:

0 0/5 * * * *:每5分钟运行程序

0 10,20 * * * *:在每个小时的10和20分钟运行程序

0 10-20/5 * * * *:在每个小时的10到20分钟之间每5分钟运行程序

2. 小时字段

小时字段表示程序应该在哪些小时运行。它可以使用以下符号:

- 星号(*):表示所有小时

- 逗号(,):用于指定多个小时,例如:——0,12,18——表示每天的0、12、18点

- 中划线(-):用于指定一个时间段,例如:——9-17——表示从9点到17点

- 斜杠(/):用于指定一个时间间隔,例如:——*/2——表示每2小时

示例:

0 0 */2 * * *:每2小时运行程序

0 9-17 * * * *:在每天的9点到17点之间运行程序

0 0-12/3 * * * *:在每天的0点到12点之间每3小时运行程序

3. 日字段

日字段表示程序应该在哪些日运行。它可以使用以下符号:

- 星号(*):表示所有日

- 逗号(,):用于指定多个日,例如:——1,15,30——表示每个月的1、15和30日

- 中划线(-):用于指定一个时间段,例如:——1-15——表示从1日到15日

- 斜杠(/):用于指定一个时间间隔,例如:——*/5——表示每5日

还可以使用特殊符号“?”代替日字段,表示不指定特定的日。

示例:

0 0 1 * * *:每个月的1日运行程序

0 0 1,15 * * *:每个月的1日和15日运行程序

0 0 1-15/5 * * *:在每个月的1日到15日之间每5日运行程序

0 0 ? * * *:每天运行程序

4. 月字段

月字段表示程序应该在哪些月运行。它可以使用以下符号:

- 星号(*):表示所有月

- 逗号(,):用于指定多个月,例如:——1,6,12——表示1月、6月和12月

- 中划线(-):用于指定一个时间段,例如:——3-6——表示从3月到6月

- 斜杠(/):用于指定一个时间间隔,例如:——*/2——表示每2个月

示例:

0 0 1 */2 * *:每2个月的1日运行程序

0 0 1 1,4,7,10 * *:在1月、4月、7月和10月的1日运行程序

0 0 1 3-6 * *:在3月到6月的1日运行程序

5. 星期字段

星期字段表示程序应该在哪些星期运行。它可以使用以下符号:

- 星号(*):表示所有星期

- 逗号(,):用于指定多个星期,例如:——1,3,5——表示星期一、三和五

- 中划线(-):用于指定一个时间段,例如:——1-3——表示从星期一到星期三

- 斜杠(/):用于指定一个时间间隔,例如:——*/2——表示每2个星期

还可以使用特殊符号“?”代替星期字段,表示不指定特定的星期。

需要注意的是,星期字段和日字段是互斥的,只能出现其中一个。

示例:

0 0 * * 1-5 *:在星期一到星期五每天运行程序

0 0 * * 6,7 *:在星期六和星期日每天运行程序

0 0 * * * 3-5:在每个星期三到星期五运行程序

6. 年字段

年字段表示程序应该在哪些年运行。它可以使用以下符号:

- 星号(*):表示所有年

- 逗号(,):用于指定多个年,例如:——2020,2022——表示2020年和2022年

- 中划线(-):用于指定一个时间段,例如:——2020-2025——表示

打赏