Generador de Expresiones Cron

Construye una expresión crontab con menús desplegables (cada 5 minutos, cada hora, diaria, semanal, personalizada) con explicación en español llano.

🌐 English

🔒 Privado por diseño: todo se genera localmente en tu navegador; nada se sube nunca a ningún servidor.

Cómo generar una expresión crontab

  1. Elige un Horario, un preajuste común como “Cada 5 minutos” o “Diario”, o “Personalizado” para controlar tú mismo los 5 campos.
  2. Rellena los campos que use el horario elegido, minuto/hora para una tarea diaria, un día de la semana para semanal, un día del mes para mensual, o los 5 campos (con sus propias casillas “cada”) para Personalizado.
  3. Pulsa Generar expresión cron, el resultado muestra la cadena crontab exacta, una explicación en español llano de lo que significa y las próximas 5 veces que se dispararía de verdad desde ahora mismo.
  4. Copia la expresión directamente en tu crontab (crontab -e), en la configuración de una tarea programada de CI/CD, o en un disparador cron() en la consola de tu proveedor de nube.

Por qué un constructor visual de cron

Una expresión cron (cinco campos separados por espacios para minuto, hora, día del mes, mes y día de la semana) es compacta e inequívoca una vez que la conoces, pero realmente fácil de equivocar sutilmente de memoria: ¿va minuto-luego-hora u hora-luego-minuto? ¿Significa */15 “cada 15 minutos” o “a los 15 minutos pasada la hora”? ¿Cuenta el domingo como 0 o como 7? Esta herramienta construye la expresión campo a campo a partir de simples menús desplegables para que nunca tengas que recordar el orden exacto de los campos ni la sintaxis de los comodines, y te muestra al instante qué significa realmente el resultado en español llano más las próximas horas de ejecución concretas, para que puedas verificarlo antes de desplegarlo.

La trampa día-del-mes / día-de-la-semana, explicada

El error más común de crontab es asumir que los 5 campos siempre se combinan con AND. Y así es, excepto para día del mes y día de la semana, que se combinan con OR siempre que ambos estén restringidos a un valor concreto al mismo tiempo (ninguno se deja como *). Construye “día 15 del mes Y cada viernes” con la opción Personalizado aquí y verás que la explicación deja claro (correctamente) que la tarea en realidad se dispara en cada día 15 (sin importar el día de la semana) y por separado en cada viernes (sin importar la fecha), no solo un viernes 15. Este es un comportamiento estándar y documentado de cron que se remonta a la implementación original de Unix cron, esta herramienta no se lo inventa, solo lo hace visible antes de que lo descubras de la peor manera en producción.

Qué te dicen las “próximas 5 horas de ejecución”

En lugar de confiar ciegamente en la sintaxis del campo, el informe generado simula tu expresión exacta hacia adelante desde el momento actual y lista las próximas 5 veces que se dispararía de verdad. Es la forma más rápida de confirmar que un horario hace lo que pretendías, por ejemplo, que “cada 15 minutos” realmente cae en el cuarto de hora (:00, :15, :30, :45) en lugar de 15 minutos desde el momento en que resulte que estás mirando la página.

Privado, porque nada sale nunca de tu dispositivo

Cada campo, la explicación y la simulación de próximas ejecuciones se calculan con JavaScript normal ejecutado en tu propia pestaña del navegador, sin librería, sin ida y vuelta al servidor y sin cuenta. Esto importa porque una expresión crontab puede revelar detalles reales de infraestructura (ventanas de despliegue, horarios de copias de seguridad, nombres internos de tareas) que quizá no quieras teclear en una herramienta online cualquiera que registre sus entradas.

Usos habituales

Cómo funciona, en imágenes

Captura de pantalla de la herramienta Generador de Expresiones Cron con Schedule en Every 5 minutes, Minute (0-59), used by Hourly / Daily / Weekly / Monthly / Custom en 0
Generador de Expresiones Cron en pleno proceso: Schedule en Every 5 minutes, Minute (0-59), used by Hourly / Daily / Weekly / Monthly / Custom en 0.
Captura de pantalla del resultado de Generador de Expresiones Cron mostrando la salida generada «=== CRON EXPRESSION === */5 * * * * === EXPLANAT…»
El resultado final: la salida generada «=== CRON EXPRESSION === */5 * * * * === EXPLANAT…». El enlace de descarga es una URL blob local: el archivo nunca sale de tu dispositivo.

Preguntas frecuentes

¿Puedo pegar una expresión cron ya existente para que me la expliquen?

No, esta herramienta solo construye una expresión nueva a partir de los menús desplegables de arriba. No hay ninguna caja de texto libre para pegar una expresión arbitraria, ya que esta herramienta usa intencionadamente la misma interfaz de solo-opciones que otras herramientas generadoras de este sitio (Generador de UUID, Generador de Contraseñas). Si ya tienes una expresión cron de otro sitio, la forma más rápida de rodearlo es recrear su horario con la opción Personalizado aquí para ver su explicación y sus próximas horas de ejecución.

¿Por qué mi tarea se ejecuta tanto el día 15 COMO cada viernes, si yo solo quería "el día 15, pero solo si es viernes"?

Este es el malentendido más común sobre crontab, y es el comportamiento estándar y correcto de cron, no un fallo de esta herramienta. Cuando TANTO el campo día del mes como el campo día de la semana están restringidos a valores concretos (ninguno es "*"), cron real los combina con un OR: la tarea se ejecuta si CUALQUIERA de las dos condiciones es cierta, no solo cuando ambas lo son a la vez. Así que "día 15, viernes" en realidad significa "cada día 15, y por separado, cada viernes", se disparará dos veces la mayoría de los meses. No hay forma de expresar "el día 15 solo cuando cae en viernes" en una única expresión cron estándar de 5 campos; esa lógica tiene que vivir dentro del propio script de la tarea (comprobar la fecha y salir pronto si no coincide).

¿Se envía mi horario o algún dato a un servidor?

No. La expresión, su explicación y las próximas 5 horas de ejecución se calculan todas con JavaScript normal ejecutado en tu propia pestaña del navegador, nada se sube, registra ni almacena en ningún sitio, y sigue funcionando sin conexión una vez cargada la página.

¿Qué significan realmente las "próximas 5 horas de ejecución", están en mi zona horaria?

Se calculan contra el reloj local y la zona horaria de tu propio navegador/dispositivo (de la misma forma que un crontab real se evalúa contra la hora local del servidor donde corre, a menos que ese servidor tenga configurada explícitamente otra TZ). Si tu servidor de producción está en una zona horaria distinta a la de tu navegador, trata las horas mostradas como ilustrativas del patrón, no como el momento exacto en el servidor.

¿Cuál es la diferencia entre los preajustes y "Personalizado"?

Los preajustes (cada minuto, cada 5/15/30 minutos, cada hora, diario, semanal, mensual) cubren los horarios que casi todo el mundo necesita, usando solo los campos relevantes para ese horario y dejando el resto como "cada" (*). "Personalizado" expone los 5 campos en bruto (minuto, hora, día del mes, mes y día de la semana) cada uno con su propia casilla "cada (*)", así puedes construir cualquier expresión estándar de 5 campos, incluida la combinación OR entre día del mes y día de la semana explicada arriba.

¿Soporta valores de paso, rangos o listas como "*/5" o "1-5" o "1,3,5"?

Los menús desplegables en sí siempre producen un único valor concreto por campo (o "cada"), excepto los preajustes fijos de cada 5/15/30 minutos que usan internamente un paso ("*/5", etc.). El motor subyacente de explicación y próximas-horas-de-ejecución sí entiende pasos, rangos y listas separadas por comas en general, pero construir uno de esos patrones más avanzados mediante las opciones visuales no está disponible, para mantener la interfaz en simples menús y casillas.

Herramientas relacionadas