Generador de Expresiones Cron
0-59
0-23
1-31
1-12
0-7 (0,7=Domingo)
La sintaxis cron es concisa y fácil de confundir: 0 */6 * * * se ejecuta cada seis horas, mientras que */6 0 * * * se dispara diez veces, solo durante la primera hora después de la medianoche. Este generador te permite elegir un horario visualmente (cada 15 minutos, días de semana a las 9 a.m., el 1 de cada mes) y genera la expresión exacta junto con una descripción en lenguaje natural de lo que significa.
Cómo construir una expresión cron
-
1
Elige un ajuste predefinido o escribe los campos
Cada minuto, cada hora, a diario a medianoche, cada domingo y el 1 de cada mes están a un clic. Para cualquier otra cosa, escribe los valores directamente en los cinco campos.
-
2
Refina el horario
Minutos, horas, días del mes, meses, días de la semana específicos. Se admiten rangos (9-17), listas (1,15) y pasos (*/6).
-
3
Lee la expresión
El generador siempre produce el formato cron estándar de 5 campos, además de una descripción en lenguaje natural del horario.
-
4
Comprueba el dialecto
Los dialectos difieren (Quartz, AWS EventBridge, Kubernetes). Confirma que la expresión coincide con lo que espera tu programador.
Los cinco campos
* * * * *
│ │ │ │ │
│ │ │ │ └── Día de la semana (0-6, Domingo=0, o DOM-SAB)
│ │ │ └───── Mes (1-12, o ENE-DIC)
│ │ └──────── Día del mes (1-31)
│ └─────────── Hora (0-23)
└────────────── Minuto (0-59)
Cada campo acepta:
- Un número específico:
5 - Una lista:
1,15,30 - Un rango:
9-17 - Un paso:
*/10(cada 10) o0-30/5(cada 5 de 0 a 30) - Comodín:
*(cada valor)
Expresiones comunes
| Horario | Expresión cron |
|---|---|
| Cada minuto | * * * * * |
| Cada 15 minutos | */15 * * * * |
| Cada hora en punto | 0 * * * * |
| Cada 6 horas | 0 */6 * * * |
| Cada día a las 2:30 AM | 30 2 * * * |
| Cada día de semana a las 9 AM | 0 9 * * 1-5 |
| Cada lunes a las 8 AM | 0 8 * * 1 |
| Primer día de cada mes, 3 AM | 0 3 1 * * |
| Cada 15 minutos, 9-17 días laborables | */15 9-17 * * 1-5 |
| Mediodía el 1 y 15 | 0 12 1,15 * * |
| Cada domingo a medianoche | 0 0 * * 0 |
La trampa del día del mes + día de la semana
En cron estándar, si se especifican ambos el día del mes y el día de la semana (no *), el trabajo se ejecuta cuando cualquiera coincide (OR, no AND). 0 0 1 * LUN se ejecuta el 1 de cada mes y todos los lunes, no solo cuando el 1 es un lunes.
El cron de Vixie y la mayoría de las distribuciones de Linux siguen esta regla OR. Quartz (Java) y algunos otros usan AND. Cuando tengas dudas, prueba la expresión con una ejecución de prueba o un trabajo de test en tu programador.
Diferencias de dialecto
- Cron estándar (Linux): 5 campos, día de la semana 0-6 (Domingo = 0 o 7).
- Quartz (Spring, aplicaciones Java): 6-7 campos, con segundos como campo 1 y año opcional. Día de la semana 1-7 (Domingo = 1).
- Cron de AWS EventBridge: 6 campos, con año. Día de la semana y día del mes deben ser mutuamente excluyentes (uno debe ser
?). - GitHub Actions: cron estándar de 5 campos, intervalo mínimo de 5 minutos, solo UTC.
- Kubernetes CronJob: cron estándar de 5 campos, UTC por defecto.
Siempre confirma qué dialecto usa tu programador.
Zonas horarias
El cron clásico se ejecuta en la zona horaria local del servidor. Esto puede causar problemas durante las transiciones de horario de verano: un trabajo a las 2:30 AM puede ejecutarse dos veces o no ejecutarse en absoluto en los días de cambio. Los programadores modernos (timers de systemd, Kubernetes, EventBridge) te permiten especificar la zona horaria explícitamente, usa UTC a menos que tengas una buena razón para no hacerlo.
Preguntas frecuentes
Cada 5 unidades del campo, comenzando desde 0. En el campo de minutos */5 se ejecuta en los minutos 0, 5, 10, 15, …, 55. Es una forma abreviada de 0,5,10,15,20,25,30,35,40,45,50,55.
Cron no puede expresar intervalos arbitrarios que no se dividan uniformemente en 60 minutos o 24 horas. Para 90 minutos, lista los tiempos de ejecución específicos: 0 0,9 * * * combinado con líneas adicionales, o cambia a un programador que soporte intervalos arbitrarios (timers de systemd, anacron).
A medianoche. El orden de los campos es minuto-hora, así que 0 0 significa “minuto 0 de la hora 0”. El mediodía sería 0 12 * * *.
El cron estándar lo omite, las ejecuciones perdidas no se reintentan. Anacron captura trabajos diarios/semanales/mensuales perdidos en el siguiente arranque. Los CronJobs de Kubernetes tienen startingDeadlineSeconds y concurrencyPolicy para manejar ventanas perdidas explícitamente.
Herramientas relacionadas
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de caracteres HTML
Lista buscable de entidades HTML, sus códigos nombrados y numéricos, y una copia con un clic para caracteres y símbolos especiales.
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Formateador de JSON
Pega JSON para verlo con sangría de 2 o 4 espacios, minificarlo en una salida compacta o comprobar rápidamente la sintaxis antes de copiar el resultado.
Generador de Paletas de Color
Genera paletas monocromáticas, análogas, complementarias, triádicas o tetrádicas desde un color base HEX y exporta variables CSS listas para copiar.