Tester de expresión cron (próximas 5 ejecuciones)
Escribe una expresión cron de 5 campos (min, hora, día-mes, mes, día-semana) y ve las próximas 5 horas de disparo. Presets comunes incluidos.
- 1.viernes, 8 de mayo de 2026, 9:00
- 2.lunes, 11 de mayo de 2026, 9:00
- 3.martes, 12 de mayo de 2026, 9:00
- 4.miércoles, 13 de mayo de 2026, 9:00
- 5.jueves, 14 de mayo de 2026, 9:00
Cómo funciona
Sintaxis cron en cinco campos
El cron estándar tiene 5 campos separados por espacio: minuto (0-59), hora (0-23), día del mes (1-31), mes (1-12), día de la semana (0-6, 0=domingo). Cada campo acepta: un valor (5), un rango (1-5), una lista (1,3,5), un paso (*/15 = cada 15) o comodín (*). Las combinaciones funcionan: 1-5,10/2 significa 1-5 luego cada 2 desde 10.
Este tester usa el dialecto estricto POSIX/Linux crontab. Algunos sistemas extienden cron con meses nombrados (JAN-DEC) o días (SUN-SAT) — no soportados aquí. Usa valores numéricos para compatibilidad total.
Patrones comunes
*/5 * * * * — cada 5 minutos. Útil para refresh de caché y polls cortos.
0 9 * * 1-5 — 9am cada día laboral. Reportes en horario de oficina.
0 0 1 * * — medianoche del día 1 de cada mes. Facturación o rollup mensual.
0 */6 * * * — cada 6 horas (00:00, 06:00, 12:00, 18:00). Polls largos.
0 0 * * 0 — medianoche de cada domingo. Reportes semanales.
*/15 9-17 * * 1-5 — cada 15 minutos en horas de oficina, días laborales. Polling activo.
Día del mes vs día de la semana
Ambos campos aceptan valores, pero ojo: en el dialecto estándar, cuando ambos campos están definidos (no '*'), cron ejecuta cuando CUALQUIERA de las condiciones se cumple, no ambas. Así `0 0 1 * MON` (1er día del mes O lunes) dispara más a menudo de lo que crees.
Para restringir a 'primer lunes del mes', cron solo no puede directamente — necesitas o ejecutar un script diariamente y comprobar día-mes <= 7 dentro, o un scheduler (Airflow, GitHub Actions schedule + check) que soporte programación más expresiva.
Preguntas frecuentes
›¿Por qué veo 5 ejecuciones en mi zona local?
Cron siempre está en la zona del host. Lo que se muestra aquí es la zona de tu navegador. Los daemons cron reales honran la TZ del servidor; revisa tu host.
›¿Puedo usar meses/días nombrados?
Aún no — solo numéricos. Podríamos añadir alias estilo JAN/MON luego.
›¿Diferencia entre * y ??
En cron estándar son idénticos. Algunos dialectos Quartz usan ? para distinguir 'no especificado' en día-mes vs día-semana. Cron estándar los trata igual.
›¿Por qué día-mes + día-semana no funciona como espero?
Cuando ambos campos no son '*', el cron estándar usa OR (cualquiera coincide). Para AND ('primer lunes del mes'), necesitas un script wrapper o scheduler más expresivo.
›¿Soporta segundos?
Cron estándar es precisión de minuto. Algunos sistemas añaden un sexto campo para segundos; no lo soportamos. Si necesitas precisión de segundo, usa setInterval u otro scheduler.
›¿Cuál es el límite de granularidad?
Nivel de minuto. Programaciones más finas que 1 minuto no son expresables en cron.
›¿Puedo probar expresiones para años pasados?
Calculamos hacia adelante desde 'ahora'. Para análisis histórico, usa una librería cron de un lenguaje.
›¿Los datos salen del navegador?
No. Parseo y cálculo todo local.
Herramientas relacionadas
Última actualización: