Inicio › Herramientas para desarrolladores › Generador de cron Quartz

Generador de cron Quartz

Elige un horario para generar una expresión cron de Quartz o Spring, o pega una para comprobarla. Obtienes una descripción en lenguaje claro, las próximas ejecuciones en tu zona horaria o en UTC, un desglose campo por campo y el equivalente en crontab de Unix cuando existe.

Última actualización:

¿Qué quieres hacer?

6 o 7 campos: segundos minutos horas día-del-mes mes día-de-la-semana [año]

Introduce tus valores para ver el resultado.
Publicidad
Publicidad

Cómo usar Generador de cron Quartz

  1. Elige Crear o Explicar.
  2. Para crear, elige un tipo de horario y completa la hora, los días o el intervalo.
  3. Para explicar, pega una expresión como 0 0/15 9-17 ? * MON-FRI.
  4. Selecciona Quartz o Spring, porque numeran los días de la semana de forma distinta.
  5. Revisa la descripción y las próximas ejecuciones y luego copia la expresión.

Campos del cron de Quartz

#CampoValores permitidosCaracteres especiales
1Segundos0–59, - * /
2Minutos0–59, - * /
3Horas0–23, - * /
4Día del mes1–31, - * ? / L W
5Mes1–12 o JAN–DEC, - * /
6Día de la semana1–7 (1 = SUN) o SUN–SAT, - * ? / L #
7Año (opcional)vacío o 1970–2099, - * /

Ejemplos de cron de Quartz

ExpresiónSe ejecuta
0 0 12 * * ?Todos los días a las 12:00
0 0/5 * * * ?Cada 5 minutos
0/30 * * * * ?Cada 30 segundos
0 15 10 ? * MON-FRIA las 10:15 los días laborables
0 0/15 9-17 ? * MON-FRICada 15 minutos de 09:00 a 17:45 los días laborables
0 0 0 1 * ?A medianoche el día 1 de cada mes
0 0 23 L * ?A las 23:00 el último día de cada mes
0 0 18 LW * ?A las 18:00 el último día laborable de cada mes
0 0 8 1W * ?A las 08:00 el día laborable más cercano al día 1
0 15 10 ? * 6#3A las 10:15 el tercer viernes de cada mes
0 0 17 ? * 6LA las 17:00 el último viernes de cada mes
0 30 8 1 JAN ? 2027A las 08:30 solo el 1 de enero de 2027

Errores comunes

  • Pegar una expresión Unix de 5 campos. Añade primero el campo de segundos: */5 * * * * pasa a ser 0 0/5 * * * ?.
  • Usar * en ambos campos de día en Quartz. Sustituye uno de ellos por ?.
  • Confundir los números de los días de la semana. En Quartz, el 2 es el lunes; en Spring y en el cron de Unix, el 1 es el lunes. Los nombres de los días (MON, FRI) significan lo mismo en todas partes.
  • Esperar que 0/15 en las horas signifique "cada 15 horas indefinidamente". Los pasos se reinician cada día: 0/15 en el campo de horas se ejecuta solo a las 00:00 y a las 15:00.
  • Olvidar la zona horaria. Los disparadores de Quartz usan la zona horaria predeterminada de la JVM salvo que se defina una en el disparador.

Para crontab estándar de 5 campos, CronJobs de Kubernetes o horarios de GitHub Actions, usa el Generador de expresiones cron.

Preguntas frecuentes

¿Qué es el formato cron de Quartz?

Una expresión cron de Quartz tiene seis campos obligatorios y uno opcional, separados por espacios: segundos, minutos, horas, día del mes, mes, día de la semana y, opcionalmente, año. Por ejemplo, 0 30 9 ? * MON-FRI se ejecuta a las 09:30:00 todos los días laborables.

¿Por qué Quartz necesita un signo de interrogación?

Quartz no permite restringir a la vez el día del mes y el día de la semana. Uno de los dos debe ser ?, que significa 'sin valor específico', así que 0 0 12 * * ? es válido mientras que 0 0 12 * * * se rechaza.

¿En qué se diferencia Quartz del crontab de Unix?

El cron de Unix tiene cinco campos que empiezan por los minutos; Quartz añade un campo de segundos al principio y un año opcional al final. Quartz numera los días de la semana del 1 (domingo) al 7 (sábado) en lugar del 0 al 6, y añade L, W y # para horarios de último día, día laborable más cercano y enésimo día de la semana.

¿Qué significan L, W y #?

L significa último: L en el día del mes es el último día del mes, L-3 tres días antes, y 6L en el día de la semana es el último viernes. W significa día laborable más cercano: 15W se ejecuta el día laborable más próximo al 15 sin salir del mes, y LW es el último día laborable. # elige el enésimo día de la semana: 6#3 es el tercer viernes.

¿Una expresión cron de Spring es igual que una de Quartz?

Casi. @Scheduled de Spring usa los mismos seis campos y admite L, W y #, pero no tiene campo de año, trata ? como *, numera el domingo como 0 o 7 con el lunes como 1 y acepta macros como @daily. Usar nombres de días como MON-FRI evita errores de numeración en ambos.

¿Cómo ejecuto un trabajo de Quartz cada 5 minutos?

Usa 0 0/5 * * * ?. El 0 inicial es el campo de segundos, 0/5 en los minutos significa cada 5 minutos empezando en el minuto 0, y el ? deja sin restringir el día de la semana.

¿Qué zona horaria usan las próximas ejecuciones?

La zona horaria local de tu navegador, o UTC si la eliges. Un programador real usa la zona horaria configurada para el disparador o el servidor, así que comprueba que coincida.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Generadores de código →