Expresión 0 9 * * 1-5
La expresión cron 0 9 * * 1-5 se ejecuta de lunes a viernes a las 9:00 AM. Desglose de los cinco campos: minuto (0), hora (9), día del mes (*), mes (*), día de la semana (1-5). Cuándo el día del mes y el mes son *, significa ‘cualquier día de cualquier mes’, pero la restricción del día de la semana lo anula y el trabajo solo se ejecuta cuando el día de la semana actual está entre 1 (lunes) y 5 (viernes).
Numeración de los Dias de la Semana
| Número | Día |
|---|---|
| 0 | Domingo |
| 1 | Lunes |
| 2 | Martes |
| 3 | Miercoles |
| 4 | Jueves |
| 5 | Viernes |
| 6 | Sabado |
| 7 | Domingo (alias de 0) |
Alias de Dias Nombrados
0 9 * * MON-FRI # equivalente a 0 9 * * 1-5
0 9 * * MON,WED,FRI # Solo lunes, miercoles, viernes
0 9 * * TUE,THU # Martes y jueves
Un Caso Borde Importante: Interacción entre Día del Mes y Día de la Semana
La especificación cron tiene una regla poco obvia: si tanto el campo del día del mes como el del día de la semana tienen un valor distinto de *, el trabajo se ejecuta en la union de las dos restricciones, no en la intersección.
Por ejemplo:
0 9 15 * 1-5 # Se ejecuta el día 15 O cada lunes a viernes
Esto NO significa ‘ejecutar solo si es día 15 y es día laborable’. Significa ‘el día 15 de cada mes más cada día laborable’.
Patrones de Programación para Horario Laboral
0 9 * * 1-5 # Se ejecuta a las 9 AM en días laborables
0 9,17 * * 1-5 # Se ejecuta a las 9 AM y 5 PM en días laborables
*/15 9-17 * * 1-5 # Cada 15 min de 9 a 5 en días laborables
0 8 * * 1-5 # Se ejecuta a las 8 AM en días laborables, para resultados CI nocturnos