#!/bin/bash

# ============================================================
# CONFIGURACIÓN
# ============================================================

BASE_DIR="/home"
LOG_FILE="/home/gbcoha2h/public_html/DeleteLogs.log"
MODE="run"   # valores: test | run

# Crear carpeta de logs si no existe
# mkdir -p "$(dirname "$LOG_FILE")"

# Archivos específicos adicionales
EXTRA_FILES=(
"/home/gbcoha2h/public_html/wswms/logs_api.log"
)

echo "===== $(date) =====" >> "$LOG_FILE"
echo "Modo: $MODE" >> "$LOG_FILE"

# ============================================================
# FUNCIÓN: ELIMINAR O SIMULAR
# ============================================================

process_file() {
    local file="$1"

    if [ "$MODE" = "run" ]; then
        if rm -f "$file"; then
            echo "ELIMINADO: $file" >> "$LOG_FILE"
        else
            echo "ERROR: $file" >> "$LOG_FILE"
        fi
    else
        echo "[SIMULACIÓN] ELIMINARÍA: $file"
        echo "[SIMULACIÓN] $file" >> "$LOG_FILE"
    fi
}

# ============================================================
# BÚSQUEDA DE ARCHIVOS
# ============================================================

find "$BASE_DIR" -type f \( \
    -iname "php.log" -o \
    -iname "error_log" \
\) 2>/dev/null | while read -r file; do
    process_file "$file"
done

# ============================================================
# PROCESAR ARCHIVOS ESPECÍFICOS
# ============================================================

for file in "${EXTRA_FILES[@]}"; do
    if [ -f "$file" ]; then
        process_file "$file"
    else
        echo "NO EXISTE: $file" >> "$LOG_FILE"
    fi
done

# ============================================================
# ROTACIÓN DEL LOG
# ============================================================

# Tamaño máximo: 5MB
MAX_SIZE=5242880

# 5 meses en días (~150)
MAX_DAYS=150

if [ -f "$LOG_FILE" ]; then

    FILE_SIZE=$(stat -c%s "$LOG_FILE")
    FILE_AGE=$(find "$LOG_FILE" -mtime +$MAX_DAYS)

    if [ "$FILE_SIZE" -gt "$MAX_SIZE" ] || [ -n "$FILE_AGE" ]; then
        echo "===== LOG RESETEADO $(date) =====" > "$LOG_FILE"
    fi

fi