#!/bin/bash # ============================================================================= # IDS - Pulizia Database Automatica # ============================================================================= # Esegui giornalmente via cron per mantenere database pulito # Esempio cron: 0 3 * * * /opt/ids/deployment/cleanup_database.sh # ============================================================================= set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" IDS_DIR="/opt/ids" # Carica variabili ambiente ed esportale if [ -f "$IDS_DIR/.env" ]; then set -a source "$IDS_DIR/.env" set +a fi # Verifica DATABASE_URL if [ -z "$DATABASE_URL" ]; then echo "[ERROR] DATABASE_URL non impostato" exit 1 fi echo "==========================================" echo "IDS - Pulizia Database $(date)" echo "==========================================" # Dimensione database PRIMA della pulizia echo "" echo "๐Ÿ“Š Dimensione database PRIMA:" psql "$DATABASE_URL" -c "SELECT pg_size_pretty(pg_database_size(current_database()));" # Esegui pulizia echo "" echo "๐Ÿงน Eliminazione log vecchi (>3 giorni)..." psql "$DATABASE_URL" -f "$IDS_DIR/database-schema/cleanup_old_logs.sql" # Dimensione database DOPO la pulizia echo "" echo "๐Ÿ“Š Dimensione database DOPO:" psql "$DATABASE_URL" -c "SELECT pg_size_pretty(pg_database_size(current_database()));" echo "" echo "โœ… Pulizia completata - $(date)" echo "=========================================="