Inicio › Herramientas para desarrolladores › Generador de expresiones cron

Generador de expresiones cron

Crea una programación cron con clics o pega una existente. El generador la explica en lenguaje natural, comprueba cada campo y muestra las próximas ejecuciones en tu zona horaria local o en UTC.

Última actualización:

Constructor

Próximas ejecuciones

    Publicidad
    Publicidad

    Cómo usar Generador de expresiones cron

    1. Empieza con una programación predefinida o escribe una expresión como */15 9-17 * * 1-5 en el cuadro.
    2. Ajusta cada campo con las pestañas del constructor: cada unidad, cada N unidades, valores concretos o un rango.
    3. Lee la línea en lenguaje natural para confirmar que la programación hace lo que quieres.
    4. Revisa las próximas ejecuciones. Cambia entre hora local y UTC, o elige otra fecha de inicio, y pulsa Calcular próximas ejecuciones.
    5. Copia la expresión (o la línea completa de crontab) en tu crontab, pipeline de CI o programador de tareas.

    Sintaxis cron de un vistazo

    ┌───────────── minute (0–59)
    │ ┌─────────── hour (0–23)
    │ │ ┌───────── day of month (1–31)
    │ │ │ ┌─────── month (1–12 or JAN–DEC)
    │ │ │ │ ┌───── day of week (0–6 or SUN–SAT, 7 = Sunday)
    │ │ │ │ │
    * * * * *  command to run
    SímboloSignificadoEjemploCoincide con
    *Cualquier valor* en la hora0, 1, 2 … 23
    ,Lista1,15 en el día del mesel día 1 y el día 15
    -Rango (inclusivo)1-5 en el día de la semanaDe lunes a viernes
    /Paso*/15 en el minuto0, 15, 30, 45
    a-b/nPaso dentro de un rango9-17/2 en la hora9, 11, 13, 15, 17
    a/nPaso desde a hasta el final5/20 en el minuto5, 25, 45

    Programaciones cron habituales

    ExpresiónSe ejecuta
    */5 * * * *Cada 5 minutos
    0 * * * *Al inicio de cada hora
    0 */6 * * *A las 00:00, 06:00, 12:00 y 18:00
    0 0 * * *Todos los días a medianoche (igual que @daily)
    30 8 * * 1-508:30 de lunes a viernes
    */15 9-17 * * 1-5Cada 15 minutos de 09:00 a 17:45 en días laborables
    0 3 * * 0Domingos a las 03:00
    0 0 1 * *Medianoche del día 1 de cada mes (@monthly)
    0 0 1 1,4,7,10 *Trimestral: 1 de enero, abril, julio y octubre
    0 0 29 2 *Solo el 29 de febrero: una vez cada año bisiesto

    La regla del día del mes y el día de la semana

    Cuando ambos campos de día están restringidos, cron se ejecuta los días que coinciden con cualquiera de ellos. Cuando alguno de los campos empieza por *, el día tiene que coincidir con los dos. Ejemplos prácticos a partir del jueves 1 de enero de 2026:

    ExpresiónLógicaPrimeras ejecuciones
    0 9 1,15 * MONdía 1 o 15 o lunes1 ene, 5 ene, 12 ene, 15 ene, 19 ene, 26 ene, 1 feb … a las 09:00
    0 9 * * MONtodos los días y lunes = los lunes5 ene, 12 ene, 19 ene … a las 09:00
    0 9 */2 * MONdías impares y lunes (el campo empieza por *)5 ene, 19 ene, 9 feb … a las 09:00
    0 9 13 * FRIel día 13 o cualquier viernes (no solo el viernes 13)2 ene, 9 ene, 13 ene, 16 ene … a las 09:00

    Para ejecutar solo, por ejemplo, el primer lunes del mes, programa 0 9 1-7 * * y comprueba el día de la semana dentro del comando, por ejemplo [ "$(date +\%u)" = 1 ] && /path/to/job. En un archivo crontab, % debe escaparse como \%.

    Zonas horarias y horario de verano

    Los demonios cron del sistema usan la zona horaria local del servidor (o CRON_TZ / TZ donde se admite); los CronJobs de Kubernetes usan por defecto la zona horaria del controlador salvo que se defina spec.timeZone; las programaciones de GitHub Actions siempre se ejecutan en UTC. Cuando se adelantan los relojes, las horas locales dentro de la hora omitida no existen y la lista de próximas ejecuciones las deja fuera; cuando se atrasan, la hora repetida se muestra una sola vez. Usa UTC para las tareas que deben ejecutarse a intervalos exactos todo el año.

    Preguntas frecuentes

    ¿Cuáles son los cinco campos de una expresión cron?

    En orden: minuto (0–59), hora (0–23), día del mes (1–31), mes (1–12 o JAN–DEC) y día de la semana (0–6 o SUN–SAT, donde 7 también significa domingo). Un * significa cualquier valor, así que * * * * * se ejecuta cada minuto.

    ¿Qué pasa si se definen a la vez el día del mes y el día de la semana?

    El cron estándar ejecuta la tarea cuando coincide CUALQUIERA de los dos. 0 9 1 * MON se ejecuta a las 09:00 el día 1 de cada mes y todos los lunes. La regla O solo se aplica cuando ambos campos están restringidos: si uno de ellos empieza por *, deben coincidir los dos. La lista de próximas ejecuciones sigue estas reglas exactamente.

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

    Usa */5 * * * *. El valor de paso después de la barra se repite desde el inicio del rango, así que se ejecuta en los minutos 0, 5, 10 … 55 de cada hora. 5-59/10 se ejecutaría en los minutos 5, 15, 25, 35, 45 y 55.

    ¿Qué zona horaria usa cron?

    El cron clásico usa la zona horaria local del servidor. Muchos programadores en la nube y sistemas de CI, como GitHub Actions, usan UTC. Cambia la lista de próximas ejecuciones a UTC para ver cuándo se ejecutará realmente esa tarea. Durante los cambios de horario de verano se omiten las horas locales que no existen.

    ¿Admite segundos o la sintaxis de Quartz?

    Esta herramienta cubre el formato cron estándar de Unix de 5 campos que usan crontab, los CronJobs de Kubernetes y la mayoría de los sistemas de CI. Quartz y Spring añaden un campo de segundos y caracteres especiales como L, W y #, que se indican como no admitidos.

    ¿Qué significan @daily, @weekly y las demás macros?

    @yearly (o @annually) = 0 0 1 1 *, @monthly = 0 0 1 * *, @weekly = 0 0 * * 0, @daily (o @midnight) = 0 0 * * * y @hourly = 0 * * * *. @reboot se ejecuta una vez al arrancar y no tiene programación.

    ¿Se envía algo a un servidor?

    No. El análisis, la descripción en lenguaje natural y el cálculo de las ejecuciones se hacen en tu navegador.

    ¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

    Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

    Herramientas relacionadas

    Ver todas las de Generadores de código →