Generador de Expresiones Cron Gratuito – Constructor Visual y Tester

Crea, valida y prueba expresiones cron al instante. Obtén una descripción en español de cualquier planning, visualiza tus próximas 10 ejecuciones y genera sintaxis para Unix cron, Quartz, AWS EventBridge, GitHub Actions y Kubernetes CronJobs – todo gratis, sin registro, completamente en el navegador.

Loading Cron Builder...

100% Gratis y Privado

Todo el procesamiento ocurre en su navegador. No subimos datos al servidor. Sin registros ni pagos ocultos. Herramientas gratuitas y seguras.

Basado en NavegadorSin Registros en ServidorSin Historial

Cómo crear una expresión cron

  1. Usa los botones de preajuste para plannings comunes, o comienza con * * * * *
  2. Ajusta cada campo con los controles visuales – elige Cada, Valores Específicos, un Rango o un Paso
  3. Observa cómo la descripción en español se actualiza instantáneamente mientras construyes
  4. Revisa el panel Próximas 10 ejecuciones para confirmar que el planning cumple tus expectativas
  5. Haz clic en Copiar para copiar la expresión, o en Copiar como comentario para incluirla con un bloque de descripción
  6. Usa el botón Compartir para generar una URL para enviar a tus colegas

Entendiendo los cinco campos cron

Una expresión cron estándar tiene cinco campos separados por espacios. El primero son los Minutos (0–59), el segundo las Horas (0–23), el tercero el Día del mes (1–31), el cuarto el Mes (1–12) y el quinto el Día de la semana (0–7, donde 0 y 7 representan ambos el domingo). Algunos sistemas – como Quartz Scheduler – añaden un campo Segundos al inicio.

Los campos se combinan para definir precisamente cuándo debe ejecutarse un job. Por ejemplo, 30 8 * * 1-5 se ejecuta a las 8:30 cada día laborable, y 0 2 * * * ejecuta un job de backup todos los días a las 2:00.

Caracteres especiales de cron explicados

* (asterisco) – Comodín, coincide con todos los valores posibles. Un * en el campo de horas significa cada hora.

, (coma) – Selecciona múltiples valores distintos. 1,5,10 en minutos significa el minuto 1, 5 y 10.

- (guion) – Define un rango inclusivo. 9-17 en horas significa cada hora de 9 a 17.

/ (barra oblicua) – Define incrementos o pasos. */15 en minutos significa cada 15 minutos.

L (último) – El último día del mes o el último día de semana específico. 5L significa el último viernes. Compatible con Quartz y AWS EventBridge.

W (día laborable) – El día laborable más cercano a una fecha específica. 15W significa el lunes–viernes más cercano al 15.

# (almohadilla) – La N-ésima ocurrencia de un día de semana. 1#3 significa el 3er lunes. Solo Quartz y algunas implementaciones cron extendidas.

? (signo de interrogación) – Sin valor específico. Usado en Quartz y AWS EventBridge para día-del-mes o día-de-la-semana para evitar restricciones conflictivas.

Errores comunes de cron

  • Orden incorrecto de campos – Los minutos van antes que las horas. El orden siempre es: Min Hora Día Mes DíaSemana.
  • Tanto 0 como 7 son domingo – Olvidar esto provoca comportamiento inesperado en expresiones de día de semana.
  • Usar */60 en minutos – Esto no produce coincidencias porque 60 está fuera del rango (0–59).
  • Especificar tanto día-del-mes como día-de-la-semana – En Unix cron estándar, el job se ejecuta cuando CUALQUIERA de las condiciones se cumple (lógica OR). Usa * en un campo si solo quieres una restricción.
  • Esperar que 0 9-17 * * * se ejecute cada minuto de 9 a 17 – En realidad solo se dispara una vez por hora en el minuto 0 (9:00, 10:00...).
  • Puntos ciegos de zona horaria – Cron se ejecuta en la zona horaria local del servidor a menos que se configure diferente. Usa UTC para sistemas distribuidos y planificadores cloud.

Sintaxis de expresión cron por plataforma

La sintaxis cron varía considerablemente entre plataformas. El mismo planning puede requerir una expresión diferente según la plataforma. Usa esta referencia para tu entorno.

Unix / Linux Cron
5 fields
min hour dom month dow

0 and 7 are both Sunday. No seconds field. No ? operator.

Quartz Scheduler (Java)
6–7 fields
sec min hour dom month dow [year]

1=Sunday, 7=Saturday. Requires ? in dom or dow. Supports L, W, #.

AWS EventBridge
6 fields
min hour dom month dow year

Always UTC. Requires ? in dom or dow. Also supports rate() expressions.

GitHub Actions
5 fields (POSIX)
min hour dom month dow

Always UTC. Minimum interval: 5 minutes. Runs on default branch only.

Kubernetes CronJob
5 fields
min hour dom month dow

UTC by default. timeZone field supported from Kubernetes 1.27+.

Common Cron Expressions Across Platforms

PlanningUnixQuartzAWSGitHubK8s
Every minute
* * * * *
0 * * * * ?* * * * ? ** * * * ** * * * *
Every 5 minutes
*/5 * * * *
0 */5 * * * ?*/5 * * * ? **/5 * * * **/5 * * * *
Every hour at :00
0 * * * *
0 0 * * * ?0 * * * ? *0 * * * *0 * * * *
Daily at midnight
0 0 * * *
0 0 0 * * ?0 0 * * ? *0 0 * * *0 0 * * *
Weekdays at 9 AM
0 9 * * 1-5
0 0 9 ? * MON-FRI0 9 ? * MON-FRI *0 9 * * 1-50 9 * * 1-5
1st of every month
0 0 1 * *
0 0 0 1 * ?0 0 1 * ? *0 0 1 * *0 0 1 * *
Last day of month
0 0 L * *
❌ (workaround needed)0 0 0 L * ?0 0 L * ? *❌ (not supported)❌ (not supported)
Every Monday 8:30 AM
30 8 * * 1
0 30 8 ? * MON30 8 ? * MON *30 8 * * 130 8 * * 1
Every Sunday midnight
0 0 * * 0
0 0 0 ? * SUN0 0 ? * SUN *0 0 * * 00 0 * * 0
Daily at 2 AM (backups)
0 2 * * *
0 0 2 * * ?0 2 * * ? *0 2 * * *0 2 * * *

¿Por qué usar este constructor de expresiones cron?

A diferencia de crontab.guru y herramientas minimalistas similares, el constructor cron de EveryTool ofrece un entorno visual completo para crear, validar y compartir expresiones cron – sin instalar nada ni crear una cuenta.

  • Constructor visual campo a campo con modos Cada, Específico, Rango y Paso
  • Descripción instantánea en español de cada expresión
  • Próximas 10 ejecuciones programadas con visualización de tiempo relativo
  • Selector de zona horaria – verifica los tiempos en tu zona local
  • 16 preajustes rápidos (copias de seguridad, informes, limpieza, monitoreo)
  • Soporte cron de 6 campos con segundos (compatible Quartz Scheduler)
  • Referencia completa de sintaxis cron con todos los caracteres especiales
  • Validador de expresión campo a campo
  • URLs compartibles – un enlace para compartir tu expresión exacta
  • Funciona en todos los dispositivos incluyendo móviles
  • 100% gratis – sin registro, sin cuenta, ningún dato subido a servidores

Frequently Asked Questions

¿Qué es una expresión cron?

Una expresión cron es una cadena de 5 campos separados por espacios (minuto, hora, día-del-mes, mes, día-de-la-semana) que define un planning recurrente para tareas automatizadas. Algunos sistemas como Quartz Scheduler usan 6 campos añadiendo un campo segundos al inicio.

¿Qué significa * * * * * en cron?

La expresión * * * * * significa cada minuto de cada hora de cada día. Cada asterisco es un comodín para un campo: minuto (0–59), hora (0–23), día-del-mes (1–31), mes (1–12) y día-de-la-semana (0–7, donde 0 y 7 representan domingo).

¿Cómo ejecuto un job cron cada 5 minutos?

Usa la expresión */5 * * * *. El */5 en el campo de minutos significa cada 5 minutos a partir de 0 – con ejecuciones en los minutos 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 y 55 de cada hora.

¿Cómo programo un job cron solo para días laborables?

Usa 1-5 en el campo día-de-la-semana. Por ejemplo, 0 9 * * 1-5 se ejecuta de lunes a viernes a las 9:00. Tanto 0 como 7 representan domingo, evítalos en una expresión de solo días laborables.

¿Cuál es la diferencia entre DOM y DOW en cron?

DOM (Día-del-Mes) apunta a una fecha de calendario específica. DOW (Día-de-la-Semana) apunta a un día de semana específico. En Unix cron estándar, si ambos campos están especificados (ninguno es *), el job se ejecuta cuando CUALQUIERA de las condiciones se cumple (lógica OR).

¿Cómo ejecuto un job cron el último día del mes?

Usa L en el campo día-del-mes: 0 0 L * * se ejecuta a medianoche el último día de cada mes. El carácter L es compatible con Quartz Scheduler y AWS EventBridge, pero no con Unix cron estándar.

¿Qué significa */5 en una expresión cron?

El carácter / es el operador de paso. */5 significa cada 5 unidades desde el inicio del rango. En el campo de minutos (rango 0–59), */5 genera 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55.

¿Es gratuito este constructor de expresiones cron?

Sí, completamente gratis sin cuenta ni registro. Todo el análisis cron, generación de descripciones y cálculo de próximas ejecuciones se ejecuta completamente en tu navegador. Ninguna expresión ni dato se envía a servidores.

¿Cuál es la diferencia entre Unix cron y Quartz Scheduler cron?

Unix cron usa 5 campos: minuto, hora, día-del-mes, mes, día-de-la-semana. Quartz Scheduler usa 6 o 7 campos con un campo segundos al inicio y un campo año opcional al final. La numeración de días de semana en Quartz también es diferente: 1=domingo a 7=sábado.

¿Cómo escribo una expresión cron para AWS EventBridge?

AWS EventBridge usa un formato de 6 campos: minuto, hora, día-del-mes, mes, día-de-la-semana, año. Requiere un ? en el campo día-del-mes o día-de-la-semana (nunca en ambos). EventBridge siempre se ejecuta en UTC.

¿Cómo programo un workflow de GitHub Actions con cron?

Usa el trigger schedule en tu YAML de workflow con una expresión cron estándar de 5 campos. Ejemplo: cron: '0 2 * * *' se ejecuta diariamente a las 2:00 UTC. GitHub Actions impone un intervalo mínimo de 5 minutos y siempre se ejecuta en UTC.

¿Puedo ejecutar un job cron cada 30 segundos?

El cron Unix estándar de 5 campos solo soporta precisión de minutos. Para intervalos sub-minuto, usa Quartz Scheduler con cron de 6 campos (ej. 0/30 * * * * ? para cada 30 segundos) o un planificador de aplicación como node-cron o APScheduler.

¿Cómo depuro un job cron que no se ejecuta?

Primero valida tu expresión cron. Causas comunes: orden incorrecto de campos, desfase de zona horaria, ruta del script no absoluta, permiso de ejecución faltante. Revisa logs: grep CRON /var/log/syslog o journalctl -u cron.

¿Cuál es la diferencia entre cron y los timers de systemd?

Ambos programan tareas recurrentes. Los timers de systemd ofrecen mejor logging via journald, gestión de dependencias, retrasos aleatorios y timers persistentes que recuperan ejecuciones perdidas. Cron es más simple y universalmente disponible en todos los sistemas Unix/Linux.

¿Cómo configuro el planning de un Kubernetes CronJob?

Los Kubernetes CronJobs usan sintaxis Unix cron estándar de 5 campos en el campo spec.schedule. Ejemplo: schedule: '0 2 * * *' se ejecuta diariamente a las 2:00. Desde Kubernetes 1.27+, puedes especificar una zona horaria con spec.timeZone.