Cron表达式是Linux系统下用于计划任务的一种时间描述格式。它使用5个字段表示年、月、日、时、分,通过这5个字段来执行各种场景的计划任务,下面是10个在配置cron表达式的常见问题。
Cron表达式有哪几个字段?
Cron表达式通常包含6个字段(分钟、小时、日期、月份、星期、年份(可选)),它们之间用空格分隔。
eg:* * * * *
表示每分钟执行一次。
如何表示任意值?
使用 *
来表示任意值。
eg:* * * * *
表示每分钟、每小时的任意时刻执行。
如何指定特定值?
直接输入特定值。
eg:0 12 1 * *
表示每天1点整执行。
如何设置范围?
使用 -
设置范围。
eg:0 9-17 * * 1-5
表示工作日9点到17点,每分钟执行一次。
如何指定步长?
使用 /
设置步长。
eg:0 */5 * * *
表示每5分钟执行一次。
如何组合多个值?
使用 ,
分隔多个值。
eg:0 8,12 * * *
表示每天8点和12点整执行。
如何处理每月的第一天和最后一天?
使用 L
表示最后,W
表示工作日。
eg:0 0 L * *
表示每月的最后一天午夜执行;0 0 15W * *
表示离每月15号最近的工作日午夜执行。
如何处理星期中的某一天?
使用数字(0-7,其中,0和7都表示星期日)或者英文缩写(SUN, SAT)。
eg:0 0 * * SUN
表示每周日凌晨执行。
如何指定年份?
在Cron表达式末尾添加年份字段(可选)。
eg:0 0 1 1 * 2022
表示2022年1月1日执行。
如何在Spring Boot中使用Cron表达式?
在Spring Boot的定时任务注解中,使用@Scheduled
属性并提供Cron表达式。
eg:
@Scheduled(cron = "0 0 12 * * ?")
public void dailyTask() {
System.out.println("执行每日任务");
}