Saltar al contenido

Intérprete de expresiones cron

Cron Parser

Explica una expresión cron en lenguaje llano y lista las próximas ejecuciones en la zona horaria que elijas.

Lee una expresión cron y dice en lenguaje llano cuándo se ejecutará, y luego lista las próximas ejecuciones en la zona horaria que elijas. Cinco campos o seis con segundos, más `@daily` y compañía, `L` para el último día y `5#3` para el tercer viernes.

🔒 Se ejecuta por completo en tu navegadorcronscheduleparse

Expresión

Cinco campos, o seis con los segundos delante. `@daily`, `@hourly` y compañía también funcionan.

En palabras

Cada 15 minutos entre las 09:00 y las 17:00, de lunes a viernes.

Campo a campo

Una fila por cada campo de cron.
CampoValorSignifica
Minuto0-59cada 15`*/15` es cada cuarto de hora; `15` es a y cuarto.
Hora0-23de 9 a 17Siempre en formato de 24 horas y siempre en la zona del servidor, salvo que el programador diga otra cosa.
Día del mes1-31cada día del mes`L` es el último día. Un 31 sencillamente no se dispara en un mes corto.
Mes1-12 o JAN-DECcada mesLos nombres no distinguen mayúsculas de minúsculas.
Día de la semana0-7 o SUN-SATde lunes a viernesTanto 0 como 7 son domingo. `5#3` es el tercer viernes; `5L` es el último.

Próximas ejecuciones

Cuántas
Esta programación no se ejecuta ninguna vez en los próximos cinco años. Una fecha como el 30 de febrero nunca llega.

Zona

UTC

Se calcula en la zona de arriba, no en la de tu navegador. Las horas de reloj que el horario de verano se salta también se saltan aquí.

Cómo se usa

  1. Pega la expresión

    Se describe en una frase, y cada campo se desglosa con su rango y lo que tu valor significa para él.

  2. Ajusta la zona horaria

    Este es todo el sentido de comprobar un cron. Tu planificador corre en la zona del servidor, que suele ser UTC y rara vez la tuya: la lista de próximas ejecuciones se calcula en la zona que elijas, no en la de tu navegador.

  3. Lee las próximas ejecuciones

    Con el día de la semana y el intervalo entre cada una. Dos ejecuciones con una hora de diferencia donde esperabas un día es la forma más rápida de notar un campo en el sitio equivocado.

Preguntas frecuentes

¿Por qué `0 0 * * 1` no se ejecuta el día 1?

Porque el quinto campo es el día de la semana, no el día del mes: `1` es lunes. El día del mes es el tercer campo. Tanto `0` como `7` significan domingo en el quinto.

¿Qué le pasa a una tarea durante un cambio de horario de verano?

Una hora de reloj que el reloj se salta no ocurre, y esta lista también se la salta. Una hora que se repite puede dispararse dos veces, según el planificador. Por eso `0 2 * * *` es una mala hora que elegir en una zona con horario de verano.

¿El día del mes y el día de la semana se combinan con AND o con OR?

Con OR, cuando ambos están restringidos: una rareza del cron de Vixie que ha sobrevivido a todos los intentos de arreglarla. `0 0 1 * 1` se dispara el día 1 *y* todos los lunes, no los lunes que caen en día 1. La descripción de aquí lo explica cuando aplica.

¿Todos los planificadores admiten `L` y `#`?

No. Son extensiones de Quartz, admitidas por Quartz, Spring y varios planificadores en la nube, y ausentes del cron de Unix normal. Un campo de segundos es la misma historia. Comprueba tu planificador antes de depender de cualquiera de los dos.

Puede recibir de

Después

Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.