Files
whatsapp/docker/maintenance/entrypoint.sh
T
2026-02-03 21:30:55 -05:00

54 lines
1.4 KiB
Bash
Executable File

#!/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