# Configuración de Cron Job para Limpieza Automática

## 📋 Instrucciones para cPanel

### 1. Acceder a Cron Jobs en cPanel
- Busca "Cron Jobs" en el panel de cPanel
- Haz clic en "Cron Jobs"

### 2. Configurar el Job de Limpieza Diaria

**Configuración recomendada:**
- **Frecuencia:** Diario
- **Hora:** 2:00 AM (servidor)
- **Comando:** 
```bash
cd /home/[TU_USERNAME]/public_html && php artisan cleanup:daily > /dev/null 2>&1
```

**Configuración paso a paso:**
1. **Minuto:** 0
2. **Hora:** 2
3. **Día:** *
4. **Mes:** *
5. **Día de la semana:** *
6. **Comando:** El comando de arriba

### 3. Comando Completo para cPanel
```bash
cd /home/[REEMPLAZA_CON_TU_USERNAME]/public_html && php artisan cleanup:daily
```

### 4. Verificación Previa
Antes de configurar el cron, ejecuta manualmente para verificar:
```bash
php artisan cleanup:daily --dry-run
```

### 5. Logs y Monitoreo
Para guardar logs del cron job:
```bash
cd /home/[TU_USERNAME]/public_html && php artisan cleanup:daily >> storage/logs/cleanup.log 2>&1
```

## 🔧 Comandos Disponibles

### Limpieza Manual
```bash
# Limpiar solo archivos temporales de Livewire
php artisan livewire:cleanup-temp --hours=24

# Limpiar solo avatars huérfanos
php artisan avatars:clean

# Limpieza completa
php artisan cleanup:daily
```

### Modo Dry-Run (Solo mostrar, no eliminar)
```bash
# Ver qué se eliminaría sin eliminar
php artisan cleanup:daily --dry-run
```

### Verificación del Sistema
```bash
# Verificar configuración y estado
php verify-cleanup.php
```

## ⚠️ Notas Importantes

1. **Reemplazar [TU_USERNAME]** con tu usuario real de cPanel
2. **Verificar la ruta** - algunos hostings usan `public_html`, otros `htdocs`
3. **Probar primero** con `--dry-run` para verificar que funciona
4. **Horario del servidor** - ten en cuenta la zona horaria del servidor

## 📊 Lo que hace la limpieza

### Archivos Temporales de Livewire
- Elimina archivos subidos que tienen más de 24 horas
- Solo elimina archivos no procesados
- Limpia directorios vacíos

### Avatars Huérfanos
- Elimina archivos de avatar que no están asociados a ningún usuario
- Compara archivos en storage con registros en base de datos
- Solo elimina archivos no referenciados

## 🚨 Solución de Problemas

Si el cron job no funciona:

1. **Verificar permisos:**
```bash
chmod +x artisan
```

2. **Verificar ruta de PHP:**
```bash
which php
```

3. **Usar ruta completa de PHP:**
```bash
cd /home/[USERNAME]/public_html && /usr/local/bin/php artisan cleanup:daily
```

4. **Verificar logs de cPanel** en la sección de Cron Jobs
