Analizador de expresiones Cron y próximas ejecuciones
Analiza una expresión cron (minuto hora día mes día de la semana) y muestra su horario en lenguaje sencillo. Admite pasos, rangos y listas, y calcula las próximas 5 ejecuciones. Útil para leer un crontab o el "schedule" de GitHub Actions.
Sintaxis de la expresión cron (5 campos)
Una expresión cron tiene 5 campos separados por espacios, de izquierda a derecha: minuto, hora, día del mes, mes y día de la semana. Cada campo admite los siguientes caracteres especiales.
| Posición | Campo | Valores permitidos |
|---|---|---|
| 1 | Minuto | 0-59 |
| 2 | Hora | 0-23 |
| 3 | Día del mes | 1-31 |
| 4 | Mes | 1-12 |
| 5 | Día de la semana | 0-7 |
El día de la semana suele ser 0 = domingo a 6 = sábado, pero esta herramienta también acepta 7 como alias de domingo, usado por algunas implementaciones de cron (se trata igual que el 0).
Cada campo admite "*" (cualquier valor), listas separadas por comas (1,15,30), rangos con guion (1-5) y pasos con barra (*/15, 1-30/5), y estos se pueden combinar libremente.
Patrones cron habituales
| Expresión cron | Significado |
|---|---|
| * * * * * | Se ejecuta cada minuto. |
| */5 * * * * | Se ejecuta cada 5 minutos. |
| 0 * * * * | Se ejecuta una vez por hora, en el minuto 0. |
| 0 0 * * * | Se ejecuta todos los días a medianoche (00:00). |
| 0 9 * * 1-5 | Se ejecuta a las 9:00 los días laborables (lunes a viernes). |
| 0 0 1 * * | Se ejecuta a medianoche el día 1 de cada mes. |
| 0 0 1 1 * | Se ejecuta a medianoche el 1 de enero de cada año. |
| */15 9-17 * * 1-5 | Se ejecuta cada 15 minutos entre las 9:00 y las 17:00 los días laborables. |
Qué es una expresión cron
Una expresión cron declara en una sola línea cuándo debe ejecutarse una tarea repetida. Cinco campos —minuto, hora, día del mes, mes y día de la semana— se disponen desde la izquierda separados por espacios, y cada uno puede combinar * para todos los valores, una lista separada por comas, un intervalo con guion y un paso con barra. Así, */15 9-17 * * 1-5 significa «cada quince minutos de nueve a cinco, de lunes a viernes».
Esta herramienta analiza lo que usted escriba y, **tras enunciar la planificación en palabras, calcula las cinco próximas veces que se ejecutará** a contar desde ahora. El desglose por campos aparece al lado, de modo que se ve qué parte está obrando. El día de la semana va de 0 para domingo a 6 para sábado como norma, pero también se admite la forma 7 para domingo que usan algunas implementaciones, tratada internamente como 0. La búsqueda de ejecuciones futuras alcanza unos cuatro años; si nada coincide dentro de ese plazo, se dice con claridad.
Cómo usar el analizador de cron
- Escriba la expresión Dé los cinco campos —minuto, hora, día, mes y día de la semana— separados por espacios. Un número de campos erróneo, o un valor fuera de rango, provoca un aviso.
- Pulse «analizar» El sentido de la planificación aparece en palabras. Compruebe aquí primero que no ha leído mal su propia expresión.
- Revise el desglose por campos Se enumera qué representa cada uno de minuto, hora, día, mes y día de la semana. Delata cualquier campo con un valor que usted no pretendía.
- Lea las próximas ejecuciones Los cinco momentos siguientes se dan como fechas y horas. Un desajuste con lo que pretendía —fijar el día 31 en meses que no lo tienen, por ejemplo— aparece como fechas concretas.
- Tome prestado de los patrones habituales Una tabla reúne los más comunes: cada minuto, cada cinco minutos, en punto, las nueve en días laborables. Partir del más cercano y modificarlo es el camino rápido.
Consejos para aprovecharla mejor
- Los campos admiten combinar libremente listas con comas, rangos con guion y pasos con barra, como en "*/15 9-17 * * 1-5".
- El día de la semana suele ser 0-6 (domingo a sábado), pero esta herramienta también acepta el 7 como alias habitual de domingo en algunas implementaciones de cron.
- Si tanto el día del mes como el día de la semana están restringidos (no son "*"), el cron estándar los trata como una condición OR: la tarea se ejecuta si se cumple cualquiera de los dos.
- El disparador "schedule" de GitHub Actions usa la misma sintaxis cron de 5 campos que esta herramienta, así que también sirve para comprobar cuándo se ejecutará exactamente un workflow.
- La hora de ejecución real depende de la zona horaria configurada en el servidor, así que conviene comprobar también la hora actual del servidor tras editar un crontab.
Dónde ayuda el analizador de cron
Confirmar el sentido antes de llevarlo al crontab
Analizarlo antes de registrarlo en un servidor evita el percance de que una tarea corra mucho más a menudo de lo previsto, o no corra jamás.
Comprobar una planificación de GitHub Actions
La expresión bajo schedule de un flujo de trabajo usa la misma notación de cinco campos. La lista de próximas ejecuciones muestra si el intervalo es el que pretendía.
Descifrar la expresión de otra persona
Cuando una configuración heredada contiene algo como 0 */6 * * *, pasarla a palabras le dice al instante a qué horas se dispara.
Investigar una ejecución que se desvió
Cuando una tarea no corrió a la hora en que debía, la lista de próximas ejecuciones separa «la causa es la expresión misma» de «la causa es otra».
Cuando quiera contar los días entre ejecuciones
Para contar cuánto falta para la próxima, use el temporizador de cuenta atrás; para contar en días hábiles, el cálculo de días hábiles.
Términos sobre cron
- cron
- El mecanismo de los sistemas de tipo Unix para ejecutar tareas repetidamente a horas fijadas. La tabla que empareja cada tarea con su horario se llama crontab.
- Campo
- Cada elemento de una expresión cron, separado por espacios. De izquierda a derecha son minuto (0–59), hora (0–23), día del mes (1–31), mes (1–12) y día de la semana (0–6).
- Asterisco
- Representa todos los valores que el campo puede tomar. Puesto en el minuto significa cada minuto; en el mes, cada mes.
- Paso
- Se escribe como
*/15y semejantes para indicar un intervalo. Toma valores a lo largo del rango con una zancada fija: cada quince minutos, por ejemplo. - Rango
- Se escribe como
1-5para tomar juntos varios valores consecutivos. En el campo del día de la semana eso es de lunes a viernes; en el de la hora, de la una a las cinco. - Numeración del día de la semana
- 0 es domingo y 6 es sábado. Algunas implementaciones admiten además 7 para domingo, y esta herramienta trata el 7 igual que el 0.
- Zona horaria
- cron se lee de ordinario en la hora del entorno donde corre. Si el reloj de un servidor no está como usted supone, la misma expresión se disparará a otra hora.
Preguntas frecuentes
A propósito — Medio siglo de cron
Se dice que el nombre "cron" proviene de Chronos, la palabra griega para el tiempo, y ha sido el programador de tareas por excelencia desde los primeros días de UNIX en los años 70. Su sintaxis compacta de cinco campos puede expresar desde "cada minuto" hasta "una fecha y hora concretas una vez al año", y sigue usándose ampliamente casi medio siglo después.
Hoy en día, esta misma sintaxis cron de 5 campos se usa no solo en los crontab de servidores Linux, sino también en numerosas herramientas de CI/CD y plataformas de contenedores, como GitHub Actions, GitLab CI y los CronJob de Kubernetes. Es un ejemplo llamativo de una sintaxis diseñada en la era UNIX que sigue prosperando sin cambios en entornos cloud-native.
Una de las partes más complicadas de la sintaxis cron es su comportamiento cuando se configuran a la vez el día del mes y el día de la semana. Es tentador asumir una condición AND (que se cumplan ambos), pero la especificación real es una condición OR (que se cumpla cualquiera de los dos), lo cual es una causa habitual de que las tareas se ejecuten con más frecuencia de la prevista.