Generador de Expresiones Cron

Generador visual de expresiones Cron para configurar tareas programadas. Soporta ajustes de minutos, horas, días, meses, semanas, auto-genera expresiones Cron estándar.

Constructor de Expresión Cron

Desde Paso
Cada Minuto
Desde Hasta

Resultado Generado

Ingrese una expresión Cron existente para configurar automáticamente las opciones de formulario correspondientes

Próximas ejecuciones

Comprendiendo las Expresiones Cron

Formato de Expresiones Cron


I. Estructura Básica de las Expresiones Cron (con Fuentes Autorizadas)

Una expresión Cron estándar consiste en 5 campos de tiempo y 1 campo de comando, siguiendo las convenciones de los sistemas Unix y Linux. Según el IEEE Std 1003.1-2017 (Estándar POSIX)[1] y la documentación de Linux man 5 crontab[2], el formato es:

* * * * * comando_a_ejecutar
│ │ │ │ │
│ │ │ │ └── Día de la semana (0-7, tanto 0 como 7 representan domingo)
│ │ │ └──── Mes (1-12)
│ │ └────── Día del mes (1-31)
│ └──────── Hora (0-23)
└────────── Minuto (0-59)

Nota Autorizada:

  1. El Estándar POSIX[1] define especificaciones mínimas de compatibilidad, requiriendo soporte para los símbolos *, ,, -.
  2. Las implementaciones de cron en sistemas Linux (como Cronie) extienden la funcionalidad con valores de paso (/) y cadenas especiales (como @daily), como se detalla en su documentación oficial[3].

II. Reglas de Símbolos para Campos de Tiempo

Cada campo de tiempo soporta los siguientes símbolos especiales:

Símbolo Descripción Ejemplo
* Coincide con cualquier valor * en minutos = cada minuto
, Especifica múltiples valores 1,3,5 = minutos 1, 3, 5
- Define un rango 10-15 = minutos 10 a 15
/ Valor de paso (intervalo) */5 en minutos = cada 5 minutos
? "Sin valor específico" (solo DOM/DOW) Usado para evitar conflictos

Las implementaciones modernas de cron (como Vixie cron y sus derivados) soportan reglas de sintaxis más ricas. Según la documentación de referencia de IBM Cron[4] y el wiki del proyecto Cronie[3], los siguientes símbolos son ampliamente soportados:

Símbolo Descripción Ejemplo de Documentación Oficial
L Último día (soportado en algunas implementaciones) 0 0 L * * = ejecutar en el último día de cada mes[5]
W Día laborable más cercano (ej: 15W = día laborable más cercano al día 15) Ver documentación de Quartz Scheduler[6] (común en ecosistemas Java)

III. Origen de Alias Predefinidos (@daily, etc.)

Los alias como @daily, @weekly, etc., se originan en la implementación Cron de Paul Vixie (Vixie cron, lanzado en 1987)[7] y ahora son características predeterminadas en distribuciones modernas de Linux (como Debian y Red Hat). Según el manual de Debian cron[8]:

# Equivalente a 0 0 * * *
@daily /ruta/al/script

IV. Diferencias de Implementación Comunes y Consideraciones

Diferentes implementaciones de cron tienen diferencias sutiles, requiriendo referencia a sus respectivas documentaciones:

Implementación Características Enlace a Recursos Oficiales
Cronie Cron predeterminado de Red Hat, soporta atajos @ Cronie GitHub
systemd Reemplaza cron con unidades .timer (recomendado para sistemas nuevos) Manual systemd.timer
fcron Soporta sintaxis más compleja (ej: @yearly) Sitio web fcron

V. Herramientas de Validación Recomendadas y Referencias Autorizadas

  1. Páginas de Manual de Crontab Ejecute man 5 crontab en el terminal para ver la sintaxis completa - la referencia de autoridad local más directa.

  2. Generadores de Expresiones Cron

  3. Documentación de Proyectos de Código Abierto


VI. Resumen

Al combinar el estándar POSIX, las páginas de manual de Linux y la documentación de implementaciones principales (como Cronie), los usuarios pueden comprender con precisión la lógica central de las expresiones cron. Para usos avanzados (como L y W), tenga cuidado con la compatibilidad de implementación y priorice los recursos oficiales.


Referencias

[1] Estándar POSIX: Definición de Cron
[2] Página de manual de Linux man 5 crontab
[3] Documentación oficial de Cronie: Wiki de GitHub
[4] Referencia IBM Cron: Explicación del formato Cron
[5] Sintaxis Quartz Cron: Documentación de Quartz Scheduler
[6] Historia de Vixie cron: Wiki de Vixie cron
[7] Manual Debian cron: CronHowto de Debian
[8] Manual systemd.timer: Documentación oficial de systemd