# Crontab del HOST (macOS o Linux) — Docker. # Levanta el contenedor solo durante cada ejecución de la descarga CPE. # Lunes a viernes. Horario: # 06:00-13:00 c/20min · 13:00-14:00 c/30min · 14:00-21:00 c/20min · 21:00-23:00 c/1h (21:00 y 22:00) # Fuera de esas franjas y sábado/domingo no se ejecuta nada; recién retoma # a las 06:00 del siguiente día hábil. # # Ajustar PROY a la ruta absoluta del proyecto y SMB_HOST_MOUNT al punto de # montaje SMB del host (macOS: /Users//FileSAP · Linux: /mnt/filesap). SHELL=/bin/bash PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin PROY=/Users/george/Documents/docker/proyectos/descarga_cpe_sovos SMB_HOST_MOUNT=/Users/george/FileSAP # 06:00-13:00 cada 20 min */20 6-12 * * 1-5 cd $PROY && SMB_HOST_MOUNT=$SMB_HOST_MOUNT docker compose run --rm descarga-cpe # 13:00-14:00 cada 30 min 0,30 13 * * 1-5 cd $PROY && SMB_HOST_MOUNT=$SMB_HOST_MOUNT docker compose run --rm descarga-cpe # 14:00-21:00 cada 20 min */20 14-20 * * 1-5 cd $PROY && SMB_HOST_MOUNT=$SMB_HOST_MOUNT docker compose run --rm descarga-cpe # 21:00-23:00 cada 1 hora (21:00 y 22:00; 23:00 es solo el límite de fin) 0 21-22 * * 1-5 cd $PROY && SMB_HOST_MOUNT=$SMB_HOST_MOUNT docker compose run --rm descarga-cpe # macOS: dar Full Disk Access a /usr/sbin/cron en Ajustes del Sistema > Privacidad. # El log (con rotación de 30 días) queda en logs/descarga-cpe.log; main.py # captura y loguea ahí cualquier excepción no controlada.