La Expresión 0 0 * * 1-5
La expresión cron 0 0 * * 1-5 se ejecuta de lunes a viernes a medianoche. Desglose de campos: minuto (0), hora (0), día del mes (*), mes (*), día de la semana (1-5). La medianoche en días laborables es una línea base comun. La mayoría de los equipos ajustan el campo de hora a sus necesidades reales. El concepto clave aquí es el rango 1-5 en el campo de día de la semana.
El Rango 1-5 en el Campo de Día de la Semana
En cron POSIX, el día de la semana es el quinto campo y usa esta numeración:
| Número | Día |
|---|---|
| 0 | Domingo |
| 1 | Lunes |
| 2 | Martes |
| 3 | Miercoles |
| 4 | Jueves |
| 5 | Viernes |
| 6 | Sabado |
| 7 | Domingo (alias) |
El rango 1-5 coincide de lunes a viernes. Sabado (6) y domingo (0 o 7) quedan excluidos.
El Alias MON-FRI
En Vixie cron y la mayoría de las implementaciones modernas, las abreviaturas de tres letras funcionan en el campo de día de la semana:
0 0 * * MON-FRI # Igual que 0 0 * * 1-5
0 0 * * MON,WED,FRI # Solo lunes, miercoles, viernes
0 0 * * TUE,THU # Martes y jueves
Patrones de Dias Laborables
La base 0 0 * * 1-5 casi siempre se ajusta. Patrones que aparecen en crontabs de producción:
0 9 * * 1-5 # Dias laborables a las 9 AM
0 6 * * 1-5 # Dias laborables a las 6 AM
0 18 * * 1-5 # Dias laborables a las 6 PM
*/15 9-17 * * 1-5 # Dias laborables cada 15 min de 9 a 5
*/30 8-18 * * 1-5 # Cada 30 min en horario laboral extendido
Interacción entre Día del Mes y Día de la Semana
Un caso limite importante de cron: si tanto el campo de día del mes como el de día de la semana están configurados explicitamente (ninguno es *), cron ejecuta el trabajo en la union de ambas restricciones, no en la intersección.
0 0 15 * 1-5 # Se ejecuta el día 15 del mes Y cada día laborable
Esto no significa ‘el día 15 que cae en día laborable’. Significa ‘cada día laborable más cada día 15 del mes’. Si quieres restringir a una combinación específica, se necesita lógica a nivel de script, no una expresión cron más compleja.