CRON

Intérprete de expresiones

segundos
minutos
horas
días
del mes
meses
días
de la semana
(años)
En el segundo 0, cada 10.º minuto a partir de 0 minuto, cada hora.
Las expresiones cron se utilizan para configurar instancias de CronTrigger, una subclase de org.quartz.Trigger. Una expresión cron es una cadena que consta de seis o siete subexpresiones (campos) que describen los detalles concretos de una programación. Estos campos, separados por espacios en blanco, pueden contener cualquiera de los valores permitidos en diversas combinaciones de los caracteres admitidos para cada campo.
Descripción
NombreObligatorioPermitido
valores
Permitido
caracteres especiales

segundos

0-59

, - * /

minutos

0-59

, - * /

horas

0-23

, - * /

días del mes

1-31

, - * ? / L W C

meses

1-12 o JAN-DEC

, - * /

días de la semana

1-7 o SUN-SAT

, - * ? / L C #

años

No

vacío o 1970-2099

, - * /

Explicación de los caracteres especiales
SignoExplicación

,

Separa valores consecutivos.

-

Especifica un rango de-a.

*

Todos los valores del campo; por ejemplo, en el campo de la hora significa 'cada hora'.

?

Útil cuando es necesario especificar un valor en uno de dos campos en los que el carácter está permitido, pero no en el otro. Por ejemplo, si quiero que el disparador se ejecute el día 5 del mes pero no me importa qué día de la semana sea, pondré '5' en el campo del día del mes y '?' en el campo del día de la semana.

/

Se utiliza para especificar pasos. El primer valor indica cuándo comienza el paso y el segundo indica con qué frecuencia se ejecutará, por ejemplo, '0/15' en el campo de los minutos significa los minutos 0, 15, 30, 45, mientras que '5/15' significa la ejecución en los minutos 5, 20, 35 y 50.

#

La almohadilla '#' se utiliza para especificar el día 'enésimo' del mes; por ejemplo, el valor '4#3' en el campo del día de la semana significa el tercer miércoles del mes (día 4 = miércoles y #3 = tercer miércoles del mes).

L

La letra 'L' significa 'último' en los campos del día de la semana o del día del mes. Por ejemplo, '0 0 9 ? * 3L' significa el último martes de cada mes a las 9 de la mañana. En el campo del día del mes también se puede especificar 'LW', que significa el último día hábil del mes.

W

Especifica el día hábil (de lunes a viernes) más cercano al día del mes indicado. Por ejemplo, '1W' significa 'el día hábil más cercano al día 1 del mes'. Si el día 1 cae en domingo, el cron se ejecutará el lunes, día 2 del mes.

C

Esta abreviatura significa 'calendario' e indica que los valores se calculan teniendo en cuenta el calendario asociado, si existe. Cuando no hay ningún calendario asociado, se trata como si hubiera un calendario que abarca todos los días. Por ejemplo, el valor '3C' en el campo del día del mes significa 'el primer día incluido en el calendario después del día 3 del mes'. Mientras que '1C' en el campo del día de la semana significa 'el primer día incluido en el calendario el domingo o después'.

Ejemplos
ExpresiónDescripción

0 0 12 * * ?

Ejecutar todos los días a las 12:00.

0 0/20 * * * ?

Ejecutar cada 20 minutos, en los minutos 0, 20, 40.

0 15 10 * * ? 2023

Ejecutar a las 10:15 todos los días del año 2023.

* 30 3 ? * 1,7

Ejecutar cada segundo a las 3:30 el sábado y el domingo.