Una expresión cron tiene cinco campos: minuto, hora, día del mes, mes y día de la semana. El asterisco significa cualquier valor, el guion un intervalo, la coma una lista y la barra un paso.
«30 2 * * 1-5» quiere decir entonces: a las 2:30, cualquier día del mes, cualquier mes, pero solo de lunes a viernes. Justo esa combinación está en incontables scripts de copia de seguridad.
La trampa del día del mes y el día de la semana
Si los dos campos están restringidos, se combinan con un O, no con un Y. «0 0 1 * 1» se ejecuta el día uno de cada mes y además todos los lunes, no solo el primer lunes.
Esa regla sorprende una y otra vez, porque todos los demás campos se combinan con un Y. Quien quiera un día concreto de la semana dentro del mes tiene que comprobarlo dentro del script: cron no sabe expresarlo.
Los pasos y el cero
«*/15» en el minuto significa cada quince minutos contados desde cero: en punto, y a y cuarto, y media y menos cuarto. Un paso arranca siempre al principio del intervalo, no en la hora actual.
En el campo del día de la semana el cero es el domingo, y el siete también: las dos formas valen. La semana empieza aquí en domingo, algo que en Europa se pasa por alto con facilidad.