Preajustes comunes
Constructor por campo
Acerca de esta herramienta
Una expresión cron es una cadena de programación compacta que utilizan el cron de Unix, los CronJobs de Kubernetes, los pipelines de CI y la mayoría de los planificadores de tareas. Tiene cinco campos separados por espacios — minuto, hora, día del mes, mes y día de la semana — con un sexto campo opcional al principio para los segundos. Cada campo acepta un comodín (*), un valor único, una lista (1,15,30), un rango (9-17) o un paso (*/15, 0-12/3), y los campos de mes y día de la semana también aceptan nombres como JAN o MON. Este analizador expande cada campo a sus valores concretos, resuelve los apodos @yearly, @monthly, @weekly, @daily y @hourly, y trata el 7 como domingo igual que el 0.
Úsalo para confirmar que una tarea de despliegue se dispara realmente cada día laborable a las 9 de la mañana, para depurar por qué una copia de seguridad nunca se ejecuta, o para leer de un vistazo el críptico */15 9-17 * * 1-5 de un compañero. El panel de las próximas 5 ejecuciones calcula los próximos disparos en tu zona horaria local o en UTC, aplicando correctamente la regla OR del cron estándar cuando tanto el día del mes como el día de la semana están restringidos, y saltando con limpieza entre años bisiestos para programaciones como 0 0 29 2 *. Los preajustes del constructor y los controles por campo Every / At / Range / Step componen una expresión válida en vivo, de modo que puedes crear una programación sin memorizar la sintaxis.
Las extensiones exclusivas de Quartz (L, W, # y ?) no forman parte del cron estándar y se rechazan con un mensaje claro en lugar de analizarse de forma incorrecta.
Preguntas frecuentes
¿Qué significa la expresión cron */15 9-17 * * 1-5?
Se ejecuta cada 15 minutos (en :00, :15, :30 y :45) durante las horas de 09:00 a 17:59, de lunes a viernes. El */15 es un paso en el campo de los minutos, 9-17 es un rango horario y 1-5 cubre los días laborables de lunes a viernes.
En cron, ¿el día de la semana para el domingo es 0 o 7?
Tanto 0 como 7 significan domingo en el cron estándar, por lo que SUN, 0 y 7 son intercambiables. El campo del día de la semana va de 0 (domingo) a 6 (sábado), con 7 aceptado como alias de domingo.
¿Cómo gestiona cron que el día del mes y el día de la semana estén ambos definidos?
Cuando los campos del día del mes y del día de la semana están ambos restringidos (ninguno es *), el cron estándar usa una semántica OR: la tarea se ejecuta si cualquiera de los dos campos coincide. Así, 0 0 13 * 5 se dispara el día 13 de cada mes y todos los viernes.