Constructor de expresiones Cron
Construye y explica expresiones cron en lenguaje sencillo
Cómo funciona
Constructor de expresiones Cron — Construye y explica expresiones cron en lenguaje sencillo. Todo el procesamiento ocurre en tu navegador — sin subida, sin registro, sin email. Gratis para siempre.
Última actualización:
Acerca de Constructor de expresiones Cron
Las expresiones cron son engañosamente simples: cinco campos separados por espacios, y sin embargo "cada día laborable a las 9" frente a "cada 9 minutos" se esconde tras dos caracteres que es facilísimo confundir. Este constructor de expresiones cron te deja configurar cada campo con un menú desplegable, te entrega una explicación en lenguaje natural y te muestra las próximas ejecuciones programadas para que confirmes "sí, realmente se dispara de lunes a viernes" antes de hacer commit a tu crontab.
Hay dos sabores principales de cron en la naturaleza. El cron clásico POSIX/Vixie que usan crontab en Linux, los schedules de GitHub Actions y los Kubernetes CronJob tiene cinco campos: minuto, hora, día del mes, mes y día de la semana. La variante de seis campos que usan Quartz, el @Scheduled de Spring y AWS EventBridge antepone un campo de segundos. Esta herramienta genera la expresión estándar de 5 campos — perfecta para crontab, GitHub Actions y la mayoría de schedulers de contenedores.
Usa los presets (cada 5 minutos, cada hora, diario, semanal, mensual) cuando solo necesites un patrón común, o pásate a la edición manual de campos cuando tu job requiera algo poco habitual como "cada 15 minutos entre las 9 y las 17, solo días laborables". En cualquier caso obtienes validación instantánea y confirmación legible para humanos, así no tienes que esperar a las 3 AM para descubrir que el asterisco debería haber sido una barra.
Cómo usar Constructor de expresiones Cron
- Elige un preset (cada minuto, cada 5 minutos, cada hora, diario, semanal, mensual) para los schedules más comunes.
- O constrúyelo manualmente editando los campos Minuto, Hora, Día del mes, Mes y Día de la semana.
- Observa cómo se actualiza la frase "Legible para humanos" para saber exactamente qué significa la expresión.
- Revisa la lista de "Próximas ejecuciones": esos horarios se calculan en tu zona horaria local y te dicen cuándo se disparará el job.
- Copia la expresión final de cinco campos y pégala en tu crontab, workflow de GitHub Actions o manifiesto de Kubernetes.
Casos de uso comunes
- Escribir un trigger "schedule:" para GitHub Actions de un build nocturno o un job semanal de actualización de dependencias.
- Configurar un Kubernetes CronJob para un backup periódico de la base de datos o un cache warmer.
- Programar cron en el servidor para rotación de logs, recordatorios de renovación de certificados o emails de reportes.
- Traducir un requisito de producto vago ("cada mañana laborable") a la expresión exacta "0 9 * * 1-5".
- Depurar una entrada cron existente pegándola y leyendo su explicación legible.
Consejos y errores comunes
- Día del mes y Día de la semana se combinan con OR en cron estándar: "0 9 1 * 1" se dispara a las 9 AM del día 1 de cada mes Y todos los lunes. Deja uno como "*" para evitar sorpresas.
- Quartz y Spring usan un formato de 6 o 7 campos (con segundos y año opcional). Esta herramienta emite cron de 5 campos: añade o quita campos según lo que espere tu plataforma.
- GitHub Actions ejecuta cron en UTC. Las "Próximas ejecuciones" mostradas aquí son locales: convierte si necesitas alinearlas con un schedule en UTC.
- Evita programar muchos jobs exactamente en "0 0 * * *": todos los servidores del mundo disparan a medianoche UTC, y la infraestructura compartida lo nota. Escalona unos minutos.
Preguntas frecuentes
¿Qué formato cron se usa?
Cron POSIX estándar de 5 campos: minuto, hora, día del mes, mes, día de la semana. Step Vixie (*/n), rangos (1-5) y listas (1,3,5) están soportados.
¿Las próximas ejecuciones son precisas a mi zona horaria?
Sí. El cálculo usa el reloj local de tu navegador, así que los tiempos sugeridos coinciden con lo que cron haría en una máquina con tu zona horaria.
¿Cómo ejecuto algo cada día laboral a las 9 AM?
Usa '0 9 * * 1-5'. El primer 0 es minuto 0, 9 es la hora 9, los dos * cubren cualquier día/mes, y 1-5 significa lunes a viernes.
¿Esto produce cron de 5 o 6 campos?
Cron POSIX estándar de 5 campos: minuto, hora, día del mes, mes, día de la semana. Es el formato que usan crontab, GitHub Actions, Kubernetes CronJob y la mayoría de schedulers Unix. Para 6 campos (Quartz, Spring) o 7 (con año) tendrás que añadir el campo de segundos manualmente al inicio.
¿Se soportan strings especiales como @hourly o @daily?
Emitimos la expresión numérica equivalente (por ejemplo, "0 * * * *" en lugar de @hourly) porque la forma numérica está soportada universalmente. Si tu scheduler acepta los alias con @, puedes sustituirlos a mano.
¿Y los rangos con paso no estándar como "5-50/10"?
Sí, los pasos estilo Vixie funcionan: "*/15" para cada 15 minutos, "5-50/10" para los minutos 5, 15, 25, 35, 45. La línea legible describirá exactamente qué matchea la expresión.
Lo más reciente del blog
Herramientas relacionadas
- Codificador/Decodificador URLCodifica y decodifica componentes URI y URLs completas
- Generador de UUIDGenera UUID v4 criptográficamente aleatorios en lote
- Decodificador JWTDecodifica e inspecciona JSON Web Tokens (cabecera, payload, expiración)
- Probador de RegexPrueba expresiones regulares con resaltado de coincidencias en vivo
- Formateador SQLEmbellece, minifica o formatea consultas SQL en cualquier dialecto
- Conversor YAML ↔ JSONConvierte entre YAML y JSON en cualquier dirección