Cron表达式是Linux系统下用于计划任务的一种时间描述格式。它使用5个字段表示年、月、日、时、分,通过这5个字段来执行各种场景的计划任务,下面是10个在配置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日执行。@Scheduled
属性并提供Cron表达式。eg:
@Scheduled(cron = "0 0 12 * * ?")
public void dailyTask() {
System.out.println("执行每日任务");
}