Menu

Generador de expresiones cron

Construye, decodifica y previsualiza horarios cron con las próximas ejecuciones.

Última actualización

Presets
Expresión
Minuto*/15
Hora*
Día del mes*
Mes*
Día de la semana*
En lenguaje claroVálido

Cada 15 minutos

Próximas 5 ejecuciones (hora local)
  • 12026-04-26 21:45 Sun
  • 22026-04-26 22:00 Sun
  • 32026-04-26 22:15 Sun
  • 42026-04-26 22:30 Sun
  • 52026-04-26 22:45 Sun

¿Qué es una expresión cron?

Una expresión cron es una forma compacta de describir una tarea recurrente. Es la misma sintaxis que usa el cron de Unix, el planificador original de Linux, y se ha extendido a prácticamente cualquier ejecutor de tareas con el que te vayas a topar: CronJobs de Kubernetes, schedules de GitHub Actions, AWS EventBridge, Cloudflare Workers, cron de Vercel y la mayoría de plataformas CI/CD.

El formato impone, pero en realidad son solo cinco campos separados por espacios: minuto, hora, día del mes, mes y día de la semana. Cada campo puede ser un número, una lista (1,15), un rango (9-17), un paso (*/5) o un comodín (*). Una buena herramienta de cron convierte la expresión a lenguaje natural y muestra las próximas horas de disparo, así puedes verificarla antes de desplegar.

Algunas plataformas amplían la sintaxis básica de 5 campos añadiendo un campo de *segundos* al inicio (Quartz, Spring, Kubernetes con 6 campos) o un campo de *año* al final. Comprueba siempre qué formato acepta tu planificador antes de pegar una expresión.

Lo que vas a aprender mientras armas tus programaciones cron

  • Una expresión cron estándar tiene 5 campos: minuto, hora, día del mes, mes y día de la semana.
  • * significa "cualquier valor" para ese campo — es la causa más habitual de que una tarea se dispare más veces de lo que esperabas.
  • */N significa "cada N unidades" — */5 en el campo de minutos es "cada 5 minutos".

Cómo escribir una expresión cron paso a paso

  1. Parte de un preset

    Elige un preset que se acerque a lo que necesitas — Cada minuto, Cada hora, Diariamente a las 9:00, Días laborables a las 9:00, Mensual. La expresión aparecerá en el editor.

  2. Ajusta cada campo

    Edita minuto, hora, día del mes, mes y día de la semana. Usa * para cualquier valor, listas separadas por comas, rangos (9-17) o pasos (*/15).

  3. Lee la explicación en lenguaje natural

    La herramienta convierte tu expresión en una frase (A las 09:00 todos los días laborables). Si la frase no coincide con lo que querías, la expresión está mal.

  4. Previsualiza las próximas ejecuciones

    Verifica las siguientes 5–10 horas de ejecución en tu zona horaria local. Atento a los cambios de horario de verano si la programación cae cerca del cambio.

  5. Cópiala a tu planificador

    Pega la expresión en tu crontab, en el workflow de GitHub Actions, en un CronJob de Kubernetes o donde sea que la vayas a usar.

Referencia rápida de campos cron

Los cinco campos de una expresión cron estándar, en orden. Referencia: la página de manual crontab(5) de POSIX.

PosiciónCampoRangoEspeciales
1Minuto0–59* , - /
2Hora0–23* , - /
3Día del mes1–31* , - / ? (en algunos dialectos)
4Mes1–12 o JANDEC* , - /
5Día de la semana0–6 (Dom=0) o SUNSAT* , - /

Ejemplos de expresiones cron para probar

Cada 5 minutos

Expresión

*/5 * * * *

Se lee como

Cada 5 minutos — al inicio de la hora y cada 5 minutos a partir de ahí.

Los pasos (*/5) son la forma más cómoda de expresar "cada N" sin tener que listar cada número. Muy común en health checks y tareas de polling.

Días laborables a las 9:00

Expresión

0 9 * * 1-5

Se lee como

A las 09:00 de lunes a viernes.

El rango 1-5 en el día de la semana significa lunes–viernes. Útil para recordatorios de horario de oficina y resúmenes solo en días laborables.

El primer día de cada mes a medianoche

Expresión

0 0 1 * *

Se lee como

A las 00:00 del día 1 de cada mes.

Día del mes 1 con * en el resto de campos te da un trabajo realmente mensual. Habitual para facturación, reportes y tareas de rotación.

Dos veces por hora, en horario laboral, días laborables

Expresión

0,30 9-17 * * 1-5

Se lee como

En los minutos 0 y 30 entre las 09:00 y las 17:00, de lunes a viernes.

Lista con coma (0,30) más un rango (9-17) más días laborables. Es el típico schedule para refrescar un BI o vaciar una cola que solo importa en horario laboral.

Errores habituales con cron

  • Olvidarse de la zona horaria. La mayoría de demonios cron disparan en la zona horaria *del servidor*, no en la tuya. Define la zona horaria de forma explícita siempre que la plataforma lo permita.
  • Fijar a la vez día del mes y día de la semana. En el cron clásico de Unix, la tarea se dispara cuando coincide *cualquiera* de los dos — algo que sorprende a casi todo el mundo la primera vez.
  • Usar */45 esperando que se dispare cada 45 minutos. Los pasos se calculan desde 0, así que */45 dispara en el 0 y en el 45, no con un intervalo real de 45 minutos.

Preguntas frecuentes sobre expresiones cron

¿Cómo se escribe una expresión cron?
Una expresión cron estándar tiene cinco campos separados por espacios: minuto, hora, día del mes, mes y día de la semana. Usa * para *cualquier valor*, un número para un valor exacto, una lista con comas (1,15), un rango (9-17) o un paso (*/5).
¿Qué significa */5 * * * *?
Significa "cada 5 minutos". El */5 en el campo de minutos dispara en el minuto 0 y cada 5 minutos después — 0, 5, 10, 15, …, 55 — y el * en el resto de campos hace que se dispare cada hora, cada día, cada mes y cada día de la semana.
¿Qué zona horaria utiliza cron?
Por defecto, cron usa la zona horaria del sistema en el que se ejecuta. La mayoría de planificadores en la nube te dejan fijarla explícitamente (TZ=Europe/Berlin, las schedule expressions de AWS, etc.). Ante la duda, guarda las programaciones en UTC.
¿Puede una expresión cron ejecutarse cada segundo?
El cron estándar de 5 campos tiene el minuto como unidad mínima, así que la mayor resolución es cada minuto. El cron de Quartz, el de Spring y algunas versiones de Kubernetes añaden un sexto campo de *segundos* para programaciones por debajo del minuto.
¿Qué diferencia hay entre 0 0 * * 0 y 0 0 * * 7?
Ambas describen el domingo a medianoche. El día de la semana va de 0 a 6 (dom–sáb) en la mayoría de implementaciones de cron, pero 7 también se acepta como domingo por compatibilidad con algunos dialectos.

Otras herramientas para desarrolladores

Aprende a programar con Coddy

COMENZAR