#!/bin/bash

# Datos de conexión SSH

SSH_USER="user_name"
SSH_HOST="104.123.456.789"
SSH_PORT="XX"
SSH_KEY="~/.ssh/private_key_diego"

# Rutas en el servidor

DB_NAME="db_name"
DB_USER="db_user"
DB_PASSWORD="db_password"
SITE_PATH="/var/www/lacolifata"
BACKUP_DIR="/tmp/backup"

# Ruta local donde guardarás el respaldo

LOCAL_BACKUP_DIR="/home/diego/proyectos"

# Nombre del archivo de respaldo

BACKUP_FILENAME="respaldo_${DB_NAME}_$(date +'%Y%m%d_%H%M%S').tar.gz"

echo "Iniciando respaldo..."

# Acceder al servidor SSH y realizar el respaldo

# GRANT PROCESS ON _._ TO 'lacolifatadbuser'@'localhost';

ssh -i "$SSH_KEY" -T -p "$SSH_PORT" "$SSH_USER@$SSH_HOST" <<EOF
echo "Haciendo dump de la base de datos..."
mkdir -p "$BACKUP_DIR"
mysqldump -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" > "$BACKUP_DIR/$DB_NAME.sql"

echo "Copiando el sitio web..."
cp -r $SITE_PATH $BACKUP_DIR/

echo "Comprimiendo todo..."
tar -czvf $BACKUP_DIR/$BACKUP_FILENAME -C $BACKUP_DIR .

echo "Respaldo completado en el servidor."
exit
EOF

# Descargar el archivo de respaldo localmente

echo "Descargando el archivo de respaldo..."
scp -i "$SSH_KEY" -P "$SSH_PORT" "$SSH_USER@$SSH_HOST:$BACKUP_DIR/$BACKUP_FILENAME" "$LOCAL_BACKUP_DIR"

# Eliminar el archivo de respaldo en el servidor (opcional)

ssh -i "$SSH_KEY" -p "$SSH_PORT" "$SSH_USER@$SSH_HOST" "rm -rf $BACKUP_DIR"

# Notificar la finalización

echo "Respaldo completado y descargado en $LOCAL_BACKUP_DIR/$BACKUP_FILENAME"