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. |
Consejos
- 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.
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.