#!/bin/bash
# backup_script.sh
# Script de Bash para simular una copia de seguridad en Linux.

# Directorio de destino para el backup y logs
BACKUP_DIR="/tmp/BackupData"
mkdir -p $BACKUP_DIR

# Obtener la fecha y hora actual
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
LOG_FILE="$BACKUP_DIR/backup_log_$TIMESTAMP.txt"

echo "--- Script de Copia de Seguridad Iniciado ($TIMESTAMP) ---" > $LOG_FILE
echo "Creando directorio de destino: $BACKUP_DIR" >> $LOG_FILE

# Simular el proceso de copia de seguridad (ejemplo: comprimir /var/log)
# Nota: Esto puede requerir permisos de sudo si /var/log no es accesible para tu usuario.
# Usaremos /tmp para un ejemplo más seguro.
echo "Simulando compresión de archivos de ejemplo..." >> $LOG_FILE
# Creamos un archivo de ejemplo para copiar si no existe
if [ ! -f "/tmp/archivos_a_copiar.txt" ]; then
    echo "Contenido de prueba" > /tmp/archivos_a_copiar.txt
fi

# Simulación de la copia real (usando tar para crear un archivo)
tar -czf "$BACKUP_DIR/backup_$TIMESTAMP.tar.gz" /tmp/archivos_a_copiar.txt >> $LOG_FILE 2>&1

# Simular la tarea con una pausa
sleep 3 

# Verificar si el archivo de backup se creó
if [ -f "$BACKUP_DIR/backup_$TIMESTAMP.tar.gz" ]; then
    echo "Copia de seguridad completada con éxito." >> $LOG_FILE
    EXIT_CODE=0
else
    echo "ERROR: Falló la creación del archivo de copia de seguridad." >> $LOG_FILE
    EXIT_CODE=1
fi

echo "Log guardado en: $LOG_FILE" >> $LOG_FILE
echo "--- Script de Copia de Seguridad Finalizado ---" >> $LOG_FILE

# Devolver el código de salida
exit $EXIT_CODE