BrowserTools
Publicidad
Inicio / Generadores / Generador y explicador de expresiones cron

Generador y explicador de expresiones cron

Construye y descifra programaciones cron en lenguaje claro, enteramente en tu navegador.

Cargando Generador y explicador de expresiones cron… Si no ocurre nada, activa JavaScript.

Cron es el programador de tareas basado en el tiempo que ha hecho funcionar los servidores del mundo desde la década de 1970. Una expresión cron es una cadena compacta de cinco campos (minuto, hora, día del mes, mes y día de la semana) que en conjunto describen exactamente cuándo debe dispararse una tarea. La sintaxis es célebremente escueta, y un solo asterisco o barra mal colocados pueden convertir una copia de seguridad horaria en una tormenta cada minuto. Esta herramienta convierte cualquier expresión en una frase clara y legible para que puedas confirmar la programación antes de plasmarla en un crontab, una canalización de CI o un CronJob de Kubernetes.

Preguntas frecuentes

¿Se envía mi expresión cron a algún sitio?
No. La expresión se analiza y explica enteramente en tu navegador mediante una biblioteca de JavaScript incorporada. Nada se sube a un servidor, se registra ni se almacena, así que es seguro pegar programaciones tomadas de sistemas privados o de producción.
¿Qué significan los cinco campos de una expresión cron?
De izquierda a derecha son 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 0 es domingo). Un valor en cada posición acota cuándo se ejecuta la tarea, y un asterisco significa todos los valores posibles de ese campo.
¿Qué significan juntos un asterisco y una barra, como */15?
La barra es un operador de paso. Aplicada a un asterisco significa 'cada N unidades', así que */15 en el campo de minutos se dispara en los minutos 0, 15, 30 y 45. También puedes combinarla con un rango; por ejemplo, 0-30/10 significa cada 10 minutos dentro de la primera media hora.
¿Por qué mi tarea se ejecuta más a menudo de lo que esperaba?
La causa más común es dejar un campo como asterisco cuando querías fijarlo. Por ejemplo, 0 * * * * se ejecuta al inicio de cada hora, mientras que * 0 * * * se ejecuta cada minuto durante la hora de la medianoche. Leer la explicación en lenguaje claro que produce esta herramienta es la forma más rápida de detectar ese tipo de error.
¿Admite segundos o cron de seis campos?
Esta herramienta se centra en el formato clásico de cinco campos que usan el cron de Unix y la mayoría de los programadores. Algunos sistemas (Quartz, ciertos ejecutores de CI) añaden un campo de segundos al principio o un campo de año al final. Si pegas uno de esos, la explicación puede quedar desfasada en un campo, así que recórtala primero a cinco campos.
¿Cómo interactúan el día del mes y el día de la semana?
En el cron estándar, si tanto el campo del día del mes como el del día de la semana están restringidos (ninguno es un asterisco), la tarea se ejecuta cuando se cumple cualquiera de las dos condiciones, no ambas. Este sorprendente comportamiento de tipo OR es una fuente frecuente de errores, así que deja uno de los dos campos como asterisco a menos que quieras específicamente esa unión.
¿Puedo usar nombres como MON o JAN en lugar de números?
Sí, la mayoría de las implementaciones de cron aceptan abreviaturas de tres letras para los meses (JAN-DEC) y los días de la semana (SUN-SAT), y no distinguen mayúsculas de minúsculas. Pueden hacer las expresiones mucho más fáciles de leer, aunque los rangos numéricos siguen siendo necesarios para los pasos y algunos casos límite.
¿Funciona la herramienta sin conexión?
Sí. Una vez que la página se ha cargado, la biblioteca de análisis ya está en tu navegador y no se hacen más solicitudes de red. Puedes usarla en un avión, detrás de un cortafuegos o mientras editas un crontab remoto sobre una conexión inestable.

Acerca de Generador y explicador de expresiones cron

El explicador acepta expresiones cron estándar de cinco campos y admite los operadores habituales: el asterisco para cualquier valor, las comas para listas (como 0,15,30,45), los guiones para rangos (como 1-5 para de lunes a viernes) y las barras para pasos (como */5 para cada quinta unidad). Escribe tu propia expresión o haz clic en uno de los ajustes predefinidos para cargar un patrón común, luego lee la descripción y ajústala hasta que coincida con tu intención. La tabla de referencia de campos debajo de la entrada te recuerda qué posición controla qué unidad y qué valores acepta cada una.

Todo se ejecuta localmente en tu navegador usando la biblioteca cronstrue incorporada directamente en la página. Nada de lo que escribes se sube, registra ni envía a ningún servidor, así que puedes pegar programaciones de infraestructura privada sin pensártelo dos veces. La herramienta funciona sin conexión una vez cargada, lo que la convierte en una compañera práctica cuando estás editando crontabs por SSH y solo necesitas una comprobación rápida de lo que hace realmente una línea.

Por qué se llama cron

El nombre cron proviene de Chronos, la personificación griega del tiempo, y la utilidad apareció por primera vez en la Versión 7 de Unix a finales de la década de 1970. La implementación original de Brian Kernighan simplemente se despertaba una vez por minuto, leía el crontab del sistema y ejecutaba lo que tocara. Era elegante, pero no escalaba bien a medida que crecía el número de tareas.

En 1987 Paul Vixie lanzó lo que se conocería como Vixie cron, una reescritura mucho más eficiente que calculaba la siguiente hora de ejecución de cada tarea en lugar de recorrer toda la tabla cada minuto. Vixie cron introdujo muchas comodidades que hoy se dan por sentadas, entre ellas los valores de paso con el operador de barra, los rangos y los crontabs por usuario. Sus descendientes se distribuyen como el programador predeterminado en la mayoría de las distribuciones de Linux.

La sintaxis de cinco campos ha resultado notablemente duradera. Décadas después de su creación, sigue apareciendo casi sin cambios en las plataformas en la nube, los orquestadores de contenedores y los servicios de integración continua modernos. Cada vez que escribes una programación para un flujo de trabajo de GitHub Actions o un CronJob de Kubernetes, estás hablando un dialecto de un lenguaje diseñado para una sola minicomputadora compartida que funcionaba en un laboratorio de investigación.

Publicidad
Publicidad
Publicidad