#!/bin/bash # Entrypoint para contenedor de mantenimiento set -e echo "==========================================" echo "WhatsApp Bot - Contenedor de Mantenimiento" echo "==========================================" echo "Fecha: $(date)" echo "Zona Horaria: $TZ" echo "" # Verificar conexión a base de datos echo "Verificando conexión a base de datos..." if mariadb-admin ping -h "${DB_HOST}" -u "${DB_USER}" --password="${DB_PASS}" --silent; then echo "✅ Conexión a base de datos OK" else echo "❌ No se pudo conectar a la base de datos" exit 1 fi # Verificar Redis echo "Verificando conexión a Redis..." if echo "PING" | nc -w 2 "${REDIS_HOST}" 6379 | grep -q PONG; then echo "✅ Conexión a Redis OK" else echo "⚠️ Redis no disponible (no crítico)" fi # Crear directorios necesarios mkdir -p /backups/database mkdir -p /var/log/cron # Ejecutar migraciones de base de datos echo "" echo "Ejecutando migraciones de base de datos..." /scripts/run-migrations.sh echo "" echo "Tareas programadas:" echo "- 02:00 AM: Backup de base de datos" echo "- 03:00 AM: Limpieza de logs" echo "- Cada hora: Verificación de salud" echo "- Cada minuto: Envío de mensajes programados" echo "" echo "Logs disponibles en /var/log/cron/" echo "==========================================" echo "" # Iniciar cron en segundo plano y seguir logs crond -b -d 8 touch /var/log/cron/scheduled.log tail -f /var/log/cron/*.log