Tiempo

Herramienta de expresiones cron

Analiza, genera y explica expresiones cron, previsualiza las próximas ejecuciones en cualquier zona horaria y elige entre plantillas comunes, un generador visual, historial local y exportaciones. Resulta útil para programar tareas de backend, temporizadores de CI/CD, ventanas de copia de seguridad, generación de informes, refrescos de caché, envíos de recordatorios y comprobaciones rutinarias de servicios.

  • Admite tanto el cron estándar de 5 campos como el de 6 campos con segundos, y explica la regla en lenguaje natural
  • Lista las próximas 5, 10, 20 o 50 ejecuciones en la zona horaria elegida, mostrando la hora local y la UTC
  • Incluye plantillas comunes y un generador visual para cada minuto, hora, día, semana, mes y año
  • Señala las diferencias entre Linux crontab, GitHub Actions, Cloudflare Workers, Kubernetes y Quartz
tools/Herramienta de expresiones cron
Válida5 campos

Aún no hay historial.

A las 09:00, de lunes a viernes

CampoValorRango
Minuto00 a 59
Hora90 a 23
Día*1 a 31
Mes*1 a 12
Día de la semana1-50 a 6 (0 y 7 son domingo)
Zona horaria
Cantidad
#LocalUTCDesde ahora
12026-07-13 09:002026-07-13 09:00en 2 d
22026-07-14 09:002026-07-14 09:00en 3 d
32026-07-15 09:002026-07-15 09:00en 4 d
42026-07-16 09:002026-07-16 09:00en 5 d
52026-07-17 09:002026-07-17 09:00en 6 d
Acciones rápidas

Notas de sintaxis

Todos los campos de cron comparten el mismo puñado de símbolos, y conocerlos elimina la mayoría de los errores al escribir a mano.

* Comodín
Coincide con todos los valores del campo. Por ejemplo, * * * * * se dispara cada minuto.
, Lista de valores
Enumera varios valores concretos en el mismo campo. Por ejemplo, 0 9,12,18 * * * se dispara a las 09:00, 12:00 y 18:00 cada día.
- Rango inclusivo
Coincide con un rango contiguo, ambos extremos incluidos. Por ejemplo, 0 9 * * 1-5 se dispara a las 09:00 los días laborables.
/ Intervalo de paso
Coincide a intervalos fijos desde un valor o rango inicial. Por ejemplo, */15 * * * * se dispara cada 15 minutos.
? Marcador de Quartz
Marcador para el campo de día del mes o día de la semana que indica que el campo queda sin especificar; solo lo admiten los planificadores estilo Quartz. Por ejemplo, 0 0 12 ? * MON se dispara a mediodía cada lunes.
L Último valor de Quartz
Se refiere al último valor del campo, como el último día del mes o el último viernes; solo lo admiten los planificadores estilo Quartz. Por ejemplo, 0 0 12 L * ? se dispara a mediodía el último día de cada mes.
0/7 Valores del día de la semana
En el campo del día de la semana, tanto 0 como 7 representan el domingo, y la mayoría de los analizadores también aceptan los alias de SUN a SAT. Así, 0 0 * * 0 y 0 0 * * 7 son equivalentes y se disparan a las 00:00 cada domingo.

Diferencias entre plataformas

La sintaxis de cron, la zona horaria por defecto y el número de campos varían entre entornos. Consulta la documentación de la plataforma de destino antes de desplegar.

Linux crontab
Usa el cron estándar de 5 campos en la zona horaria del sistema. Declara SHELL, PATH y MAILTO de forma explícita dentro del crontab para evitar diferencias con tu shell de inicio de sesión.
GitHub Actions
Solo acepta el cron estándar de 5 campos y se ejecuta en UTC. Los flujos programados pueden retrasarse u omitirse con carga alta o en repositorios inactivos, así que respalda los temporizadores críticos con otro disparador.
Cloudflare Workers Cron Triggers
Usa el cron estándar de 5 campos en UTC. Cada expresión debe habilitarse en la configuración de Workers, y la granularidad mínima es de 1 minuto.
Kubernetes CronJob
Usa el cron estándar de 5 campos; spec.timeZone puede fijar una zona horaria IANA. Vigila startingDeadlineSeconds, concurrencyPolicy y los límites de historial: todos cambian lo que realmente se ejecuta.
Quartz Scheduler
Usa 6 o 7 campos y añade las extensiones ? L W #. El día del mes y el día de la semana no pueden ser ambos comodines, así que uno de ellos debe ser ?. Esta herramienta analiza cron genérico; verifica la sintaxis exclusiva de Quartz con su validador oficial.

Resumen

Muestra una expresión cron como lenguaje natural, un desglose campo por campo y una lista de próximas ejecuciones, para que la programación, la depuración y las comprobaciones previas al despliegue tengan una base sólida.

  1. 01

    Analiza y valida cron de 5 / 6 campos

    Detecta automáticamente el cron estándar de 5 campos y el de 6 campos con segundos, y muestra errores legibles de inmediato.

  2. 02

    Descripción en el idioma actual

    Usa cronstrue para imprimir la explicación en el idioma de la página, lista para revisiones, documentación y tickets.

  3. 03

    Desglose a nivel de campo

    Detalla cada campo —segundo, minuto, hora, día, mes, día de la semana— con su rango y la regla de coincidencia actual.

  4. 04

    Próximas ejecuciones según la zona horaria

    Lista las próximas 5, 10, 20 o 50 ejecuciones en tu zona horaria local, en UTC o en cualquier zona horaria IANA.

  5. 05

    Plantillas y un generador visual

    Incluye plantillas para cada minuto, hora, día laborable, semana, mes y año, además de un generador que arma la regla por dimensión temporal.

  6. 06

    Historial local y exportaciones

    Guarda las expresiones recientes solo en el navegador y exporta la lista de ejecuciones como TXT, CSV o JSON.

Cómo usarla

Confirma cada campo y luego verifica las ejecuciones de la vista previa contra la zona horaria de la plataforma de destino antes de desplegar la regla.

  1. 01

    Escribe una expresión cron como 0 9 * * 1-5, o elige una plantilla si no sabes por dónde empezar.

  2. 02

    Lee la descripción en lenguaje natural y el desglose por campo para confirmar la programación.

  3. 03

    Elige la zona horaria de destino y cuántas ejecuciones mostrar, y comprueba que las próximas ejecuciones caen en la ventana esperada.

  4. 04

    Para reglas más complejas, abre el generador visual y arma la expresión por minutos, horas, día, semana, mes o año.

  5. 05

    Copia la expresión o exporta la lista de ejecuciones cuando termines, y deja que el historial local conserve la regla para consultarla después.

Detalles

La herramienta está diseñada en torno al trabajo real de programación, no como un cron de laboratorio genérico.

  • Detecta el cron de 5 y 6 campos automáticamente; un número de campos inusual se señala en lugar de analizarse mal en silencio.
  • Marca posibles símbolos estilo Quartz (? L W #) para que no los reutilices en GitHub Actions, Kubernetes y similares.
  • Avisa cuando el día del mes y el día de la semana están ambos definidos, ya que la mayoría de plataformas aplican OR y unas pocas AND.
  • Las próximas ejecuciones muestran la hora local, la UTC y el tiempo desde ahora, lo que facilita detectar el horario de verano y el comportamiento entre días.
  • Cambiar de zona horaria recalcula la lista de ejecuciones y es la forma más rápida de depurar plataformas basadas en UTC como GitHub Actions o Cloudflare Workers.
  • El generador visual cubre minutos, horas, día, semana, mes y año, con selectores de día de la semana y mes cuando corresponde.
  • El análisis, el cálculo, la copia y la exportación se ejecutan localmente en el navegador; las expresiones nunca salen de tu equipo.

Casos de uso

Cron es la lengua franca del trabajo programado. Casi cualquier tarea periódica acaba escrita en cron.

  1. Tareas programadas de backend

    Define la cadencia de facturación, renovaciones, generación de informes, scripts de limpieza y precalentamiento de caché.

  2. CI/CD y barridos de compilación

    Programa compilaciones nocturnas alineadas con UTC, pruebas de regresión y escaneos de dependencias en GitHub Actions, GitLab CI y Jenkins.

  3. Sincronización y archivado de datos

    Establece la ventana para sincronización de bases de datos, archivado de logs, procesos ETL, estrategias de copia de seguridad y refrescos del almacén de datos.

  4. Comprobaciones y alertas de operaciones

    Programa comprobaciones de estado, escaneos de espacio en disco, barridos de caducidad de certificados y recordatorios de guardia.

  5. Mensajería y automatización de growth

    Impulsa resúmenes matutinos, resúmenes de la reunión diaria, arranques de campañas, cierres de rebajas y correos de reactivación.

  6. Programaciones cloud-native y de contenedores

    Valida expresiones y zonas horarias para Kubernetes CronJob, Cloudflare Workers, Vercel Cron y programaciones de Lambda.

  7. Tareas de IoT y edge

    Planifica el sondeo de dispositivos, las subidas de gateways, los vaciados de caché y las ventanas de actualización remota.

  8. Documentación de equipo y revisión de código

    Añade una explicación cron legible a la documentación, las descripciones de PR y los tickets en lugar de adivinar el ritmo.

Ver también

Para convertir una próxima ejecución en segundos o milisegundos Unix, usa el Conversor de marcas de tiempo . Cuando la misma ejecución debe caer en varias ciudades, el Conversor de zonas horarias la muestra en paralelo. Para vigilar la hora real de varias regiones mientras piensas en una programación, abre el Reloj mundial junto a esta herramienta.

Buenas prácticas

Las tareas programadas fiables nacen de zonas horarias explícitas, una descripción legible del ritmo y una comprobación real del tiempo de ejecución.

  • Verifica el ritmo con la vista previa de próximas ejecuciones antes de desplegar; no te fíes solo de la descripción.
  • En equipos distribuidos, registra juntos la expresión cron, la zona horaria de destino y un par de ejemplos concretos de ejecución.
  • En plataformas basadas en UTC como GitHub Actions y Cloudflare Workers, convierte tu hora local de destino a UTC antes de escribir la expresión.
  • Cuando el día del mes y el día de la semana estén ambos definidos, consulta la documentación de la plataforma de destino para saber si aplica OR o AND.
  • Para reglas de alta frecuencia (como cada minuto), haz la tarea idempotente y vigila la acumulación bajo carga del sistema previo.
  • Para reglas complejas, mantén la expresión en el control de versiones o en un servicio de configuración con un breve comentario sobre su intención.

Limitaciones

Cron es un lenguaje de expresiones; las implementaciones difieren en los detalles pequeños. Esta herramienta solo explica expresiones y nunca programa nada.

  • La herramienta solo analiza y previsualiza. Nunca registra ni dispara una tarea en ninguna plataforma.
  • GitHub Actions, Cloudflare Workers y muchas otras plataformas solo aceptan cron de 5 campos en UTC; el de 6 campos (con segundos) no está disponible allí.
  • Las extensiones de Quartz (? L W #) no están disponibles en la mayoría de los analizadores cron genéricos; para Quartz, valida con sus herramientas oficiales.
  • Durante los cambios de horario de verano, una hora que falta o se repite puede cambiar la frecuencia con que se ejecuta la tarea. Previsualiza las ejecuciones que cruzan el día del cambio.
  • Cuando el día del mes y el día de la semana están ambos definidos, la semántica de coincidencia difiere entre plataformas; usa la documentación de destino como fuente de verdad.
  • Las próximas ejecuciones se calculan en el navegador con la zona horaria IANA seleccionada y no garantizan lo que disparará producción. Verifícalo también en la plataforma de destino.

Preguntas frecuentes

Respuestas sobre el número de campos, las zonas horarias, la compatibilidad entre plataformas, Quartz y el historial.

¿Por qué algunas reglas cron tienen cinco campos y otras seis?

El crontab tradicional de Unix usa cinco campos (minuto, hora, día, mes, día de la semana). Quartz, Spring y cron-parser admiten una forma de seis campos que añade un campo de segundos al principio. La herramienta detecta el formato a partir del número de campos automáticamente.

¿Por qué falla el análisis?

Normalmente el número de campos es incorrecto, un valor está fuera de rango o la expresión usa sintaxis que el entorno no admite (como ? L W # de Quartz). El rango de campos y las notas de sintaxis son el mejor sitio para revisarlo.

¿Son iguales 0 0 * * 0 y 0 0 * * 7?

Sí. En el campo del día de la semana, tanto 0 como 7 significan domingo, y la mayoría de los analizadores también aceptan los alias de SUN a SAT.

¿Qué ocurre cuando el día del mes y el día de la semana están ambos definidos?

La mayoría de los entornos estilo Unix usan OR (se dispara cuando cualquiera coincide); unos pocos usan AND (se dispara solo cuando ambos coinciden). Verifícalo con la documentación de la plataforma de destino o divide la regla en dos entradas cron separadas.

¿Por qué mis ejecuciones de GitHub Actions llegan tarde?

GitHub Actions se ejecuta en UTC y puede retrasar u omitir ejecuciones con carga alta, y los repositorios inactivos pueden tener las programaciones en pausa. Respalda los temporizadores críticos con otro disparador o una vía de reintento.

¿Esta herramienta crea tareas programadas de verdad?

No. Analiza, explica y previsualiza ejecuciones localmente en el navegador. Nunca llama a ninguna API de plataforma ni sube expresiones.

¿Se sube el historial?

No. El historial vive en el localStorage del navegador y solo es visible en tu navegador y origen actuales. Puedes eliminar entradas individuales o borrar toda la lista en cualquier momento.

¿Por qué cambia el número de ejecuciones en los cambios de horario de verano?

Los cambios de horario de verano omiten o repiten un tramo de tiempo. Una regla cron que apunta a esa hora puede dispararse una vez de más o saltarse una ejecución. Previsualiza las ejecuciones alrededor del día del cambio para confirmar el comportamiento.

Herramientas relacionadas

Continúa con las herramientas de conversión de marcas de tiempo, conversión de zonas horarias, reloj mundial y calculadora de fechas para logs, programación, ciclos de facturación y trabajo entre zonas horarias.