54 lines
1.4 KiB
Bash
Executable File
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
|