Resumen

Este generador de expresiones cron convierte una descripción de horario, o una cadena cron pegada, en una expresión validada de 5 campos: minuto, hora, día del mes, mes y día de la semana. Elige una programación común como cada 5 minutos o de lunes a viernes a las 9 AM, o edita cada campo directamente, con soporte para rangos, listas y valores incrementales. La herramienta renderiza una descripción clara del horario y calcula las próximas cinco ejecuciones en UTC, utilizando la misma lógica OR de día-del-mes y día-de-la-semana que usan vixie-cron y Kubernetes CronJob, por lo que lo que ves aquí coincide con lo que se ejecuta en producción.

Generador de Expresiones Cron para Trabajos Programados y Ventanas de Despliegue

Construye una expresión cron de 5 campos desde preajustes, o pega una para verificarla. Obtén una descripción clara y los próximos cinco tiempos de ejecución antes de que el horario se ponga en marcha.

Generador de expresiones cron

Elige campos o un preajuste a continuación. La expresión, una descripción clara y los próximos cinco tiempos de ejecución se actualizan mientras escribes.

0 9 * * 1-5

Bajo el capó

Cómo funciona este generador de expresiones cron

Cinco campos, sintaxis estándar

Minuto, hora, día del mes, mes y día de la semana: los mismos campos que leen crontab, GitHub Actions schedule y Kubernetes CronJob. Los rangos (9-17), listas (1,15,30) y incrementos (*/5) se analizan de la misma manera que lo hacen en producción.

Los campos de día se combinan con OR, no AND

Establece el día del mes en 1 y el día de la semana en lunes, y el trabajo se ejecuta el primer día del mes o en cualquier lunes, no solo cuando ambos coinciden. Así es como vixie-cron y Kubernetes CronJob realmente lo evalúan, y es el detalle que la mayoría de los generadores ignoran.

Próximas cinco ejecuciones, calculadas en directo

Cada edición recalcula cinco marcas de tiempo UTC caminando hacia adelante por el calendario real, por lo que una programación que nunca puede ejecutarse, como el día 30 en febrero, se muestra vacía aquí en lugar de permanecer silenciosamente muerta en un crontab.

Pega para verificar, no solo para construir

¿Ya tienes una cadena cron de un compañero, un manifiesto CronJob o una respuesta antigua de Stack Overflow? Pégala en el campo y obtén la misma descripción y tiempos de ejecución, sin necesidad de un validador separado.

Cómo usarlo

De campos en blanco a una programación en la que confías

  1. 1

    Comienza con un preajuste

    Elige una programación común (cada 5 minutos, de lunes a viernes a las 9 AM, el 1 del mes), o deja los valores predeterminados y ajusta desde allí.

  2. 2

    Ajusta los campos que importan

    Usa los menús desplegables de selección rápida o escribe directamente: listas separadas por comas, guiones para rangos y */N para incrementos funcionan en todos los campos.

  3. 3

    Confirma antes de desplegarlo

    Lee la descripción clara en español y verifica los próximos cinco tiempos de ejecución con tu ventana de mantenimiento o presupuesto de SLO, luego copia la expresión en tu crontab, programación de CI o manifiesto de CronJob.

Detalle de implementación

Por qué los campos día-del-mes y día-de-la-semana utilizan lógica OR

POSIX/vixie-cron, la implementación detrás de crontab de Linux y Kubernetes CronJob, tiene una regla extraña que la mayoría de la gente nunca lee. Si ambos campos día-del-mes y día-de-la-semana están restringidos y alejados de *, el trabajo se ejecuta cuando cualquiera de ellos coincide, no solo cuando ambos lo hacen. Establece día-del-mes en 1 y día-de-la-semana en lunes, y el horario se activa el primer día del mes y en cada lunes, no solo en un lunes que sea el primero. Deja cualquiera de los campos como *, y solo el restringido constriñe el día. Este generador sigue esa convención porque es lo que realmente ejecuta tu crontab, no una versión simplificada. Es más importante para el tipo de horario que escribe un equipo de plataforma a las 11 PM: ejecutar esto el primer día hábil, o el primer día del mes, lo que sea primero, se ve como un AND para la mayoría de la gente y se comporta como un OR en producción.

  • POSIX/vixie-cron (crontab de Linux, Kubernetes CronJob): OR una vez que cualquier campo de día está restringido
  • Quartz cron (común en programadores basados en Java): generalmente requiere que uno de los dos campos de día permanezca como ? en lugar de *, evitando la ambigüedad por completo
  • Este generador sigue la convención POSIX/vixie-cron, ya que es lo que crontab y CronJob realmente ejecutan
Macro del rostro de un reloj analógico con engranajes frente a un rack de servidores borroso

Preguntas frecuentes

¿Es este generador de expresiones cron gratuito?
Sí. Se ejecuta completamente en tu navegador, sin cuenta, sin límite de velocidad y sin datos enviados a ningún lugar excepto un beacon de visualización de página anónimo.
¿En qué zona horaria se muestran los próximos tiempos de ejecución?
UTC. La mayoría de los crontabs, horarios de GitHub Actions y recursos Kubernetes CronJob tienen UTC por defecto o la hora del sistema del contenedor, por lo que esto evita un error de conversión de zona horaria. Confirma tu propia zona horaria del sistema antes de depender del minuto exacto.
¿Por qué el día-del-mes 1 y el día-de-la-semana lunes se ejecutan en ambos, no solo cuando se superponen?
Porque así se comporta el cron. Las implementaciones vixie-cron estándar, incluido el crontab de Linux y Kubernetes CronJob, evalúan esos dos campos con lógica OR una vez que cualquiera de ellos se restringe y se aleja de *. Esta herramienta coincide con ese comportamiento a propósito.
¿Admite @daily, @reboot u otras macros de atajo?
No, solo los cinco campos numéricos estándar, ya que es lo que requiere la mayoría de los orquestadores de todas formas. @daily se asigna a 0 0 * * *, @hourly a 0 * * * * y @weekly a 0 0 * * 0.
¿Se envía mi horario a un servidor?
No. El análisis, la descripción clara y el cálculo de la próxima ejecución se ejecutan en el lado del cliente. Nada sobre los campos que escribes se transmite o se almacena.
¿El cálculo de la próxima ejecución tiene en cuenta el horario de verano?
No, todo se calcula en UTC, que no tiene DST. Si el sistema que ejecuta tu daemon cron usa la hora local con DST, verifica el desplazamiento por separado alrededor de las fechas de transición dos veces al año.
¿Puedo escribir nombres de mes o día de la semana en lugar de números?
Sí. ene a dic y dom a sab funcionan en los campos mes y día-de-la-semana junto con los rangos numéricos 1-12 y 0-6, incluidos en rangos y listas.

El cron se ejecuta. ¿Qué controla el despliegue que activa?

upstreamapi vincula los despliegues de banderas de características a un presupuesto de SLO, por lo que un despliegue activado por cron puede revertirse automáticamente antes de que se active la alerta, no después.