La Expresión 0 0 * * 0
La expresión cron 0 0 * * 0 se ejecuta cada domingo a medianoche. Los campos: minuto (0), hora (0), día del mes (*), mes (*), día de la semana (0). El domingo tiene una posición única en la numeración de días de cron: es tanto 0 como 7 simultáneamente.
Por qué Domingo es Tanto 0 Como 7
POSIX cron define los días de la semana como enteros del 0 al 6, donde 0 es domingo:
| Número | Día |
|---|---|
| 0 | Domingo |
| 1 | Lunes |
| 2 | Martes |
| 3 | Miercoles |
| 4 | Jueves |
| 5 | Viernes |
| 6 | Sabado |
| 7 | Domingo (alias) |
El problema con esta numeración son las expresiones de rango que cubren toda la semana laboral. Sin el alias, no puedes escribir ‘lunes a domingo’ como un rango limpio. 1-0 es invalido y 1-6 omitiria el domingo. Agregar 7 como alias para domingo hace que 1-7 sea válido y claro.
El Acceso Directo @weekly
@weekly se expande a 0 0 * * 0: domingo a medianoche.
| Acceso directo | Equivalente |
|---|---|
@weekly | 0 0 * * 0 |
@daily | 0 0 * * * |
@hourly | 0 * * * * |
@monthly | 0 0 1 * * |
@weekly se ejecuta el domingo, no el lunes. Si piensas en el lunes como el inicio de la semana, quieres 0 0 * * 1, no @weekly.
Casos de Uso para Trabajos Cron del Domingo
Ventanas de mantenimiento semanal
El domingo a medianoche es la ventana de menor trafico para la mayoría de los servicios orientados al consumidor. Vacuums de base de datos, reconstrucciones de indices, invalidaciones de cache son trabajos comunes del domingo.
Copias de seguridad completas de base de datos
Muchos equipos ejecutan copias incrementales diarias y copias completas semanales. El domingo a medianoche es el punto de control natural.
Informes de resumen semanal
Los informes de ‘resumen de la semana’ a menudo se generan la noche del domingo o temprano el lunes por la mañana.
Patron de Fin de Semana
0 0 * * 0,6 # Sabado y domingo a medianoche
Sabado es 6, domingo es 0. No son adyacentes en la numeración, por lo que no puedes usar un rango…