Interpretar expresiones cron online — Significado y próximas ejecuciones
Explicación de expresiones cron de 5 y 6 campos, próximas 5 ejecuciones y zonas horarias
Funciona en tu navegador · no se sube nada
Forma de 5 campos: minuto hora día mes día-de-la-semana · Forma de 6 campos: segundo minuto hora día mes día-de-la-semana
Cada 5 minutos
En lenguaje natural
Cada 5 minutos
Próximas 5 ejecuciones
Qué es
Una expresión cron corta como */5 * * * * resulta críptica, incluso para quien la escribió hace unos meses. Escríbela aquí y verás su significado en una frase, además de las cinco próximas veces que se ejecutará de verdad, calculadas para la zona horaria que elijas. La frase la genera la biblioteca de código abierto cronstrue.
Cómo se usa
- Escribe una expresión cron o pulsa uno de los botones de ejemplo. Sirven tanto la forma de 5 campos como la de 6 con segundos.
- Lee el significado en «En lenguaje natural».
- Elige una zona horaria y las 5 próximas ejecuciones se recalculan para ella. Por defecto se usa la del navegador.
- Si usas un alias como
@daily, a su lado aparece la expresión estándar equivalente.
Cómo funciona
- Orden de los campos: con cinco campos son minuto (0-59), hora (0-23), día (1-31), mes (1-12) y día de la semana (0-7); con seis se añaden delante los segundos (0-59). El 0 y el 7 son domingo y el 1 es lunes (cron de Unix y Spring), a diferencia de Quartz, donde el 1 es domingo.
- Un campo puede usar
*, un número, un rangoa-b, una listaa,be incrementos*/n,a-b/noa/n. El mes y el día de la semana también aceptan abreviaturas en inglés comoJANyMON. En el día del mes y el día de la semana,?equivale a*. - Alias:
@yearly(0 0 1 1 *),@monthly(0 0 1 * *),@weekly(0 0 * * 0),@daily(0 0 * * *) y@hourly(0 * * * *). - Cuando ni el día del mes ni el día de la semana son
*, se ejecuta si coincide cualquiera de los dos. - Las próximas ejecuciones se buscan recorriendo campo a campo el reloj de la zona seleccionada, con un máximo de 8 años hacia delante. Una fecha que nunca llega, como el 30 de febrero, muestra un mensaje en su lugar.
- Una expresión no válida indica qué campo y qué valor fallan.
Ejemplos
| Expresión | Significado |
|---|---|
*/5 * * * * |
Cada 5 minutos |
0 9 * * 1-5 |
A las 09:00, de lunes a viernes |
0 0 9 * * 1-5 |
Seis campos: a las 09:00:00, de lunes a viernes |
30 2 1 * * |
A las 02:30 el día 1 de cada mes |
Notas
- Si el servidor funciona en una zona distinta a la de tu navegador, las horas reales de ejecución también cambian, así que elige la zona del servidor al comprobarlas.
- En expresiones muy frecuentes, como cada minuto o cada segundo, las cinco próximas ejecuciones van simplemente una detrás de otra.
Preguntas frecuentes
¿Qué diferencia hay entre 5 y 6 campos?
Con cinco campos el orden es minuto, hora, día, mes y día de la semana; con seis se añaden los segundos al principio, así que queda segundo, minuto, hora, día, mes y día de la semana. El crontab de Linux usa cinco y @Scheduled de Spring usa seis. La herramienta los distingue por el número de campos. Los días de la semana se numeran como en cron de Unix y en Spring, con 0 y 7 para el domingo y 1 para el lunes. Quartz usa 1 = domingo hasta 7 = sábado, por eso una expresión de 6 campos con ? y un día de la semana numérico muestra un aviso.
¿Puede leer expresiones de Quartz?
Una expresión de 6 campos con los días de la semana escritos por nombre, como MON o FRI, se lee tal cual. Los días numéricos se cuentan de otra forma (en Quartz 1 = domingo; aquí 0 y 7 = domingo y 1 = lunes), así que saldrían desplazados un día. Usa los nombres o resta 1. Si la expresión es para Spring, que también acepta ?, el aviso no se aplica. La forma de 7 campos con el año al final y las notaciones L, W y # no se admiten.
¿Qué pasa si se indican a la vez el día del mes y el día de la semana?
Se aplican las reglas clásicas de cron, así que basta con que coincida uno de los dos. Por ejemplo, 0 0 13 * 5 significa a medianoche el día 13 de cada mes o cualquier viernes. Si uno de los dos es *, solo cuenta el otro como condición.
¿Cómo se tratan los cambios de horario de verano?
Las horas se calculan sobre el reloj local de la zona seleccionada. Una hora que se salta al adelantar el reloj en primavera no se ejecuta ese día, y una hora que ocurre dos veces se ejecuta una sola vez, la primera. Los planificadores reales pueden comportarse de otra forma según su implementación.
¿Se admiten extensiones como L, W y #?
No. Se entienden números, rangos (-), listas (,), incrementos (/), * y ?, las abreviaturas de meses y días en inglés (JAN, MON) y los alias @hourly, @daily, @weekly, @monthly y @yearly. Todo lo demás se indica como error.