Cron表达式是一种用于配置定时任务的字符串格式,广泛应用于Unix/Linux系统、Java应用程序以及其他支持定时任务调度的环境。一个标准的Cron表达式由六个或七个字段组成(在某些版本中可能包含一个年份字段,但通常省略),分别代表秒、分、时、日、月、周和可选的年。每个字段可以使用特殊字符和值的组合来指定执行时间。以下是一些常用的Cron表达式元素和示例:
Cron表达式字段说明:
*
:代表任何可能的值,例如,在分钟字段中使用*
表示“每分钟”。,
:用于指定多个值,如MON,WED,FRI
表示周一、周三和周五。-
:表示范围,如1-5
表示1到5的范围。/
:用于指定间隔频率,如0/15
表示从0开始每15单位递增。?
:仅在日和周字段中使用,表示不关心这个字段的值或“无特定值”。常用于需要指定另一个字段而不关心此字段的情况。L
:表示一个月的最后一天,或者一周的最后一天(常用于日字段)。W
:表示离指定日最近的工作日(只有在日字段中与数字配合使用,如1W
)。#
:用于指定某个月的第几个周几,如6#3
表示每月第三个周五。
常用Cron表达式示例:
- 每分钟执行一次:
* * * * *
- 每天凌晨3点执行:
0 3 * * *
- 每周一早上9点执行:
0 9 * * 1
- 每月1号凌晨1点执行:
0 0 1 * *
- 每年1月1日午夜执行:
0 0 0 1 1 *
- 每隔5分钟执行一次:
*/5 * * * *
- 每周一到周五的上午10点和下午2点执行:
0 10,14 * * 1-5
- 每月最后一个工作日的17点执行:
0 17 L * *
了解这些基本规则后,你可以根据需要组合出复杂的定时任务执行计划。