#!/usr/bin/env bash # sync_audios.sh — Regenera todos los audios y el podcast.xml # # Uso manual: # bash scripts/sync_audios.sh # # Cron diario a las 03:00 (edita con: crontab -e): # 0 3 * * * /home/tatvil/trabajo/oposiciones/taiage-spring/scripts/sync_audios.sh >> /var/log/taiage-audios.log 2>&1 # # Variables de entorno opcionales: # TAIAGE_BASE_URL — URL pública (default: https://taiage.tatvil.es) # PYTHON — ruta al intérprete Python (default: python3) set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" PYTHON="/home/tatiana/desarrollo/html/taiage-spring/.venv/bin/python3" #PYTHON="${PYTHON:-python3}" LOG_PREFIX="[$(date '+%Y-%m-%d %H:%M:%S')]" echo "$LOG_PREFIX ── sync_audios.sh iniciado ──────────────────────────" cd "$PROJECT_DIR" # ── 1. Limpiar ficheros .temp.mp3 huérfanos ──────────────────────────── echo "$LOG_PREFIX Limpiando ficheros temporales huérfanos..." find src/main/resources/static/audios -name "*.temp.mp3" -delete && echo "$LOG_PREFIX OK" # ── 2. Convertir temas (*_audio.md → .mp3) ──────────────────────────── echo "$LOG_PREFIX Convirtiendo temas..." "$PYTHON" scripts/temas_a_audio.py # ── 3. Convertir leyes (.md → .mp3) ────────────────────────────────── echo "$LOG_PREFIX Convirtiendo leyes..." "$PYTHON" scripts/leyes_a_audio.py # ── 4. Regenerar podcast.xml ────────────────────────────────────────── echo "$LOG_PREFIX Generando podcast.xml..." "$PYTHON" scripts/generar_podcast.py ${TAIAGE_BASE_URL:+--base-url "$TAIAGE_BASE_URL"} echo "$LOG_PREFIX ── sync_audios.sh completado ─────────────────────────"