#!/bin/bash

# ============================================
# Script para Configurar Backup Diario Automático
# ============================================
# Este script configura un cron job para ejecutar
# backups diarios automáticamente
# ============================================

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BACKUP_SCRIPT="${SCRIPT_DIR}/backup-daily-cpanel.sh"

# Verificar que el script de backup existe
if [ ! -f "${BACKUP_SCRIPT}" ]; then
    echo "❌ Error: No se encontró el script de backup: ${BACKUP_SCRIPT}"
    exit 1
fi

# Hacer el script ejecutable
chmod +x "${BACKUP_SCRIPT}"

# Obtener ruta absoluta del script
BACKUP_SCRIPT_ABS=$(readlink -f "${BACKUP_SCRIPT}")

# Configuración del cron (ejecutar diariamente a las 2:00 AM)
CRON_TIME="0 2 * * *"
CRON_JOB="${CRON_TIME} ${BACKUP_SCRIPT_ABS} >> ${SCRIPT_DIR}/../storage/logs/backup-cron.log 2>&1"

# Verificar si el cron job ya existe
if crontab -l 2>/dev/null | grep -q "${BACKUP_SCRIPT_ABS}"; then
    echo "⚠️  El cron job ya existe. ¿Desea actualizarlo? (y/n)"
    read -r response
    if [ "$response" != "y" ]; then
        echo "Operación cancelada"
        exit 0
    fi
    # Eliminar el cron job existente
    crontab -l 2>/dev/null | grep -v "${BACKUP_SCRIPT_ABS}" | crontab -
fi

# Agregar el nuevo cron job
(crontab -l 2>/dev/null; echo "${CRON_JOB}") | crontab -

echo "✅ Cron job configurado exitosamente"
echo ""
echo "📋 Detalles:"
echo "   Script: ${BACKUP_SCRIPT_ABS}"
echo "   Horario: Diariamente a las 2:00 AM"
echo "   Log: storage/logs/backup-cron.log"
echo ""
echo "Para ver los cron jobs activos:"
echo "   crontab -l"
echo ""
echo "Para eliminar el cron job:"
echo "   crontab -l | grep -v '${BACKUP_SCRIPT_ABS}' | crontab -"

