Resumen

Este generador de expresiones cron crea y comprueba horarios estándar de cinco campos directamente en tu navegador. Elige un preajuste o edita los campos de minuto, hora, día del mes, mes y día de la semana. La herramienta explica el horario en lenguaje claro, muestra cada campo en detalle y lista las próximas cinco ejecuciones en UTC o en tu zona horaria. Sigue la regla estándar de cron para combinar día del mes y día de la semana. No se envía nada a ningún servidor y no hace falta registro.

Herramienta cron gratis

Generador de expresiones cron: crea y previsualiza horarios en segundos

Elige un preajuste o escribe los cinco campos. Obtienes una lectura en lenguaje claro, un desglose campo por campo y las próximas cinco ejecuciones, todo calculado en tu navegador.

Generador de expresiones cron

Parte de un preajuste o edita cualquiera de los cinco campos. La expresión, su significado y las próximas cinco ejecuciones se actualizan mientras escribes.

0-59
0-23
1-31
1-12 o JAN-DEC
0-7 o SUN-SAT
0 9 * * *

Campo por campo

    Próximas 5 ejecuciones

      Línea de crontab

      Cómo funciona

      Lo que hace la herramienta con tus cinco campos

      Analiza cada campo por separado

      Cada campo acepta un valor, una lista (1,15), un rango (1-5), un paso (*/10) o una mezcla. Los nombres de mes y de día como JAN o MON-FRI funcionan. Los valores fuera de rango y los rangos al revés se marcan en el campo exacto que está mal.

      Aplica la regla real de coincidencia de cron

      Una hora coincide cuando su minuto, su hora y su mes están en tus listas y pasa la prueba del día. Si el día del mes y el día de la semana están ambos restringidos, cron acepta cualquiera de los dos. Si uno empieza por asterisco, tienen que coincidir los dos.

      Recorre el calendario para listar las ejecuciones futuras

      Desde el minuto actual, el script avanza día a día, se queda con los que pasan la prueba del día y luego lista las horas y los minutos que coinciden, en orden. Mira hasta ocho años hacia delante, suficiente para encontrar un horario del 29 de febrero.

      Sintaxis

      Los cinco campos, en el orden en que cron los lee

      Una línea de cron son cinco campos separados por espacios, seguidos del comando. El orden nunca cambia: minuto, hora, día del mes, mes y día de la semana. La mayoría de errores vienen de intercambiar los dos primeros, así que un horario pensado para las 14:00 acaba ejecutándose en el minuto 14 de cada hora. Léelo de izquierda a derecha y di los campos en voz alta antes de dar por buena la expresión.

      • Minuto: 0-59
      • Hora: 0-23, con reloj de 24 horas
      • Día del mes: 1-31
      • Mes: 1-12 o JAN-DEC
      • Día de la semana: 0-7 o SUN-SAT, donde 0 y 7 son ambos domingo
      • Símbolos: * para todos los valores, , para una lista, - para un rango, / para un paso
      Armario de servidores con luces de estado verdes y cian en una sala con poca luz
      Esto es lo que falla en la práctica

      Trampas de cron que hacen perder un fin de semana

      El entorno está casi vacío

      Cron arranca los trabajos con un PATH mínimo y sin perfil de shell. Un script que funciona en tu terminal puede fallar en silencio desde cron. Usa rutas absolutas para el comando y para cualquier archivo que lea, y redirige la salida a un log para ver los errores.

      Un signo de porcentaje corta tu comando

      En una línea de crontab, un % sin escapar se trata como salto de línea y todo lo que va después se envía al comando como entrada. Los formatos de fecha como date +%F necesitan cada porcentaje escapado con una barra invertida. Pon el comando en un script y el problema desaparece.

      Cada minuto rara vez es lo que quieres

      Un trabajo que se ejecuta cada minuto y tarda 90 segundos se solapará consigo mismo. Protege los trabajos largos con un bloqueo o pásalos a una cola. Si solo necesitas algo cada pocos minutos, un paso como */5 es más suave y menos exigente con lo que llama el trabajo.

      La zona horaria no es la tuya

      Un crontab usa la zona horaria del servidor. Los planificadores alojados suelen usar UTC. Un trabajo programado para las 09:00 puede ejecutarse a las 17:00 en Taipéi o a las 04:00 en Bangkok, según dónde esté la máquina. Indica la zona horaria en un comentario junto a la línea.

      Día de la semana y día del mes se combinan con O

      Restringir los dos campos no estrecha el horario, lo amplía. Si quieres el primer lunes del mes, ninguna expresión de cinco campos lo dice directamente. Ejecuta el trabajo cada lunes y deja que el script compruebe que la fecha es el 7 o anterior.

      Prueba el horario antes que el trabajo

      Comprueba primero aquí las próximas cinco ejecuciones y luego lanza el comando a mano con el mismo entorno. Dos comprobaciones pequeñas valen más que depurar una copia de seguridad nocturna que nunca se ejecutó. Empieza con un comando inofensivo, como escribir la fecha en un archivo.

      Preguntas sobre expresiones cron

      ¿Es gratis este generador de expresiones cron y envía mi horario a algún sitio?
      Es gratis, no necesita registro y funciona por completo en tu navegador. La expresión que escribes la analiza localmente un pequeño script de esta página. No se sube nada. La única llamada de red es un contador anónimo que registra que alguien ha usado la herramienta.
      ¿Cuántos campos tiene una expresión cron?
      Cinco en el cron estándar de Unix: minuto, hora, día del mes, mes y día de la semana, en ese orden. Algunos planificadores añaden un sexto campo. Quartz pone los segundos al principio, y AWS EventBridge añade un campo de año y usa un signo de interrogación. Esta herramienta solo gestiona el formato de cinco campos, así que pega el resultado en uno de esos sistemas y consulta su documentación para el campo extra.
      ¿Por qué mi trabajo se ejecuta en días que no esperaba cuando pongo día del mes y día de la semana?
      Porque el cron estándar trata los dos campos como un O cuando ambos están restringidos. La expresión 0 0 13 * 5 se dispara cada día 13 y cada viernes, no solo el viernes 13. Si uno de los dos campos es un asterisco simple o empieza por uno, la comprobación pasa a ser un Y. La lista de previsualización de arriba aplica esa regla, así que puedes ver las fechas reales antes de desplegar.
      ¿Qué zona horaria usan las horas de la próxima ejecución?
      La que elijas. UTC es la predeterminada, porque la mayoría de los planificadores en la nube ejecutan cron en UTC. La segunda opción usa la zona horaria de tu navegador. Tu propio servidor puede usar otra, así que comprueba la configuración de zona horaria de la máquina o la documentación del planificador antes de fiarte de las horas.
      ¿La misma expresión funciona en GitHub Actions, Kubernetes y crontab?
      Los cinco campos significan lo mismo en los tres. GitHub Actions evalúa los horarios en UTC, y su intervalo mínimo permitido es cada 5 minutos. Un CronJob de Kubernetes usa los mismos cinco campos y permite fijar una zona horaria en versiones recientes. Un crontab clásico usa la zona horaria de la máquina. Cadenas especiales como @daily las aceptan muchas implementaciones de crontab, pero no todos los planificadores, así que, si dudas, usa la forma de cinco campos.
      ¿Qué significa un paso como */15 o 10/20?
      Un paso toma cada enésimo valor de un rango. En el campo de minutos, */15 significa 0, 15, 30 y 45. Un valor inicial seguido de un paso, como 10/20, va desde ese valor hasta el final del campo: minutos 10, 30 y 50. Un rango con paso, como 8-18/2 en el campo de hora, significa 8, 10, 12, 14, 16 y 18.
      ¿Puedo usar nombres como MON-FRI o JAN?
      Sí. Los campos de mes y de día de la semana aceptan nombres ingleses de tres letras, en cualquier combinación de mayúsculas y minúsculas. Los números también funcionan: los meses van de 1 a 12 y los días de la semana de 0 a 7, donde tanto 0 como 7 significan domingo.
      ¿Qué pasa con los cambios de hora de verano?
      Depende del planificador. Cuando los relojes saltan hacia delante, un trabajo programado dentro de la hora que desaparece puede omitirse o ejecutarse con retraso. Cuando los relojes retroceden, un trabajo programado dentro de la hora repetida puede ejecutarse dos veces. Si un trabajo debe ejecutarse exactamente una vez al día, programalo en UTC o a una hora alejada del cambio.

      ¿Buscas la siguiente cosa que construir?

      Un trabajo de cron es un buen primer backend para un side project. El generador gratuito de nuestra home te entrega una especificación completa del proyecto, con stack y alcance, en un clic.