Generador de expresiones cron

Escribe un horario cron y mira exactamente cuándo se ejecuta.

0-59
0-23
1-31
1-12 o JAN-DEC
0-6 o SUN-SAT (7 también es domingo)
At 09:00 AM, Monday through Friday

Próximas 10 ejecuciones

    Chuleta de sintaxis cron
    CampoValores permitidos
    Minuto0-59
    Hora0-23
    Día del mes1-31
    Mes1-12 o JAN-DEC
    Día de la semana0-6 o SUN-SAT (7 también es domingo)
    SímboloSignificado
    *Cualquier valor
    ,Una lista de valores, como 1,15
    -Un rango, como 1-5
    /Un paso, como */15 para cada valor número 15

    Funciona en tu navegador. Nada de lo que escribes se envía a ningún sitio.

    Cómo escribir una expresión cron

    1. Elige un preajuste, o escribe una expresión con cinco campos.
    2. Ajusta campos individuales en los cuadros de abajo.
    3. Revisa la explicación y las próximas ejecuciones, y copia la expresión.

    Horarios cron comunes

    HorarioExpresiónSignificado
    Cada minuto* * * * *Se ejecuta 60 veces por hora
    Cada 5 minutos*/5 * * * *A las :00, :05, :10 y así sucesivamente
    Cada noche a las 2am0 2 * * *Una vez cada 24 horas
    Días laborables a las 9am0 9 * * 1-5Solo de lunes a viernes
    El primero de mes0 0 1 * *Medianoche del día 1
    Cada 6 horas0 */6 * * *Medianoche, 6am, mediodía, 6pm

    Cómo difiere cron entre sistemas

    El formato de 5 campos de abajo es el que crea este generador, y también es el que usan directamente la mayoría de los programadores de tareas.

    SistemaCamposNota
    Cron / crontab estándar5Minuto, hora, día del mes, mes, día de la semana
    CronJob de Kubernetes5Mismo formato, entre comillas como cadena en YAML
    GitHub Actions5Se pone en on.schedule.cron, siempre se ejecuta en UTC
    Quartz (Java)6 o 7Añade un campo de segundos antes del minuto
    AWS EventBridge6Añade un campo de año y usa ? para el día del mes o de la semana

    Copia la expresión de aquí a un horario de Quartz o AWS y añade el campo extra que espera; las posiciones de minuto, hora, día, mes y día de la semana se mantienen igual.

    Consejos para escribir horarios cron

    • Prefiere un paso a una lista larga: */15 * * * * es más corto y claro que 0,15,30,45 * * * *.
    • Poner a la vez el día del mes y el día de la semana restringe menos de lo que parece: el cron estándar ejecuta la tarea cuando coincide cualquiera de los dos, no solo cuando coinciden ambos.
    • Prueba un horario aquí antes de pegarlo en un servidor. Un solo campo equivocado puede convertir una tarea diaria en una que se dispara cada minuto.
    • Los servidores suelen ejecutar cron en UTC. La lista de próximas ejecuciones de arriba se muestra en tu propia zona horaria, así que conviértela antes de dar por hecho que una tarea se ejecutó a tiempo.

    Preguntas frecuentes sobre Generador de expresiones cron

    ¿Qué significan los cinco campos de una expresión cron?

    De izquierda a derecha: minuto (0-59), hora (0-23), día del mes (1-31), mes (1-12) y día de la semana (0-6, donde 0 es domingo). Un asterisco significa cualquier valor, así que * * * * * se ejecuta cada minuto.

    ¿Cómo ejecuto una tarea cron cada 5 minutos?

    Usa */5 * * * *. El /5 significa cada quinto valor, así que se ejecuta en los minutos 0, 5, 10 y así sucesivamente, cada hora de cada día.

    ¿Qué pasa cuando pongo día del mes y día de la semana a la vez?

    El cron estándar ejecuta la tarea cuando coincide cualquiera de los dos. 0 0 1 * 1 se ejecuta a medianoche el día 1 de cada mes y también cada lunes.

    ¿Qué zona horaria usa cron?

    La zona horaria del servidor que lo ejecuta, que a menudo es UTC. Las horas de ejecución de esta página se muestran en tu propia zona horaria, así que conviértelas si tu servidor usa una distinta.

    ¿Funciona este formato para Kubernetes, GitHub Actions, Quartz o AWS?

    Los CronJobs de Kubernetes y los horarios de GitHub Actions usan este mismo formato de 5 campos. Quartz añade un campo de segundos, y AWS EventBridge añade un campo de año y usa ? en uno de los campos de día, así que esos necesitan ajustes.

    ¿Cómo ejecuto una tarea solo entre semana o solo los fines de semana?

    Pon el día de la semana en 1-5 para de lunes a viernes, o 0,6 para sábado y domingo. Deja el día del mes y el mes como * para que no restrinjan nada más.

    ¿Qué significan atajos como @daily y @hourly?

    Son macros que algunas implementaciones de cron aceptan en lugar de cinco campos. @hourly es 0 * * * *, @daily es 0 0 * * *, @weekly es 0 0 * * 0, @monthly es 0 0 1 * * y @yearly es 0 0 1 1 *. Escribe cualquiera de ellos en el cuadro de expresión de aquí y se expande automáticamente.

    Herramientas relacionadas