Generador y explicador de expresiones cron

Crea un horario de crontab con unos clics o pega uno existente. Obtienes una explicación en lenguaje claro, validación campo por campo y las próximas 10 ejecuciones en tu zona horaria.

Funciona en tu navegadorSin registroNo se sube nada

minutohoradía (mes)mesdía (semana)

Constructor visual

Próximas 10 ejecuciones

    Cómo usar: Generador de expresiones cron

    1. Escribe una expresión cron como */15 * * * * o haz clic en un ajuste predefinido.
    2. Lee la descripción en lenguaje claro para confirmar que hace lo que esperas. Los campos no válidos se resaltan con el motivo.
    3. Usa las pestañas del Constructor visual para definir minuto, hora, día del mes, mes y día de la semana con Cada, Cada N, Específico o Rango.
    4. Revisa las próximas 10 ejecuciones y elige la zona horaria del servidor si es distinta de la tuya.
    5. Copia la expresión en tu crontab, en un CronJob de Kubernetes, en el schedule de GitHub Actions o en tu configuración de CI.

    La sintaxis cron en un minuto

    Una expresión cron estándar tiene cinco campos separados por espacios:

    ┌───────────── minute (0-59)
    │ ┌─────────── hour (0-23)
    │ │ ┌───────── day of month (1-31)
    │ │ │ ┌─────── month (1-12 or JAN-DEC)
    │ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 are Sunday)
    │ │ │ │ │
    * * * * *  command
    SímboloSignificadoEjemplo
    *cualquier valor* * * * * cada minuto
    ,lista0 9,17 * * * a las 09:00 y a las 17:00
    -rango0 9 * * 1-5 de lunes a viernes a las 09:00
    /paso*/10 * * * * cada 10 minutos
    @dailymacroequivale a 0 0 * * *; también @hourly, @weekly, @monthly, @yearly, @reboot

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

    Cuando ambos campos de día están restringidos (ninguno empieza por *), cron se ejecuta cuando coincide cualquiera de los dos. Por eso 0 0 13 * 5 se ejecuta todos los días 13 y todos los viernes, no solo los viernes 13. Este generador sigue esa regla de Vixie cron, y la descripción dice «o» para que te des cuenta.

    Zonas horarias y horario de verano

    Cron usa la zona horaria local del servidor salvo que se configure otra cosa (CRON_TZ= en algunos cron, timeZone en los CronJobs de Kubernetes; GitHub Actions siempre usa UTC). Elige esa zona en la vista previa de ejecuciones. Las tareas programadas dentro de un salto de horario de verano (por ejemplo, a las 02:30 la noche en que se adelanta el reloj) se omiten en la vista previa, porque esa hora local nunca existe.

    Horarios habituales

    • */5 * * * *: cada 5 minutos
    • 0 */2 * * *: cada 2 horas, en punto
    • 0 9 * * 1-5: a las 09:00 de lunes a viernes
    • 0 0 1 * *: a medianoche del primer día de cada mes
    • 0 3 * * 0: a las 03:00 todos los domingos, una ventana típica para copias de seguridad

    Preguntas frecuentes

    ¿Cómo ejecuto un cron job cada 5 minutos?
    Usa */5 * * * *. El paso /5 en el campo de minutos significa cada 5 minutos empezando en 0: 00, 05, 10, etc.
    ¿Cron admite segundos?
    El crontab estándar no; la unidad mínima es un minuto. Quartz, Spring y algunos programadores en la nube añaden un campo de segundos (6 o 7 campos). Esta herramienta valida el formato estándar de 5 campos y te avisa cuando detecta 6 campos.
    ¿El domingo es 0 o 7?
    Ambos. En el campo de día de la semana, tanto 0 como 7 significan domingo, y también puedes escribir nombres como SUN o MON-FRI.
    ¿Por qué mi tarea se ejecuta más días de lo esperado?
    Si restringiste tanto el día del mes como el día de la semana, cron se ejecuta cuando coincide cualquiera de los dos. Pon uno de ellos en * para que solo cuente el otro.
    ¿En qué zona horaria se muestran las próximas ejecuciones?
    Por defecto, en la zona horaria de tu navegador. Elige la zona de tu servidor (a menudo UTC) en la lista para ver exactamente cuándo se dispara allí la tarea.

    Herramientas relacionadas