40 lines
1.4 KiB
Bash
Executable File
40 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# $1 es la ruta absoluta al directorio del script de Python, pasada desde el código
|
|
BASE_DIR="$1"
|
|
|
|
# --- CONFIGURACIÓN CON RUTAS ABSOLUTAS ---
|
|
SOURCE_DIR="${BASE_DIR}/data"
|
|
# La variable DEST_DIR ahora contendrá el nombre del archivo ZIP con la ruta, NO un directorio
|
|
TIMESTAMP=$(date +%Y-%m-%d_%H-%M)
|
|
DEST_FILE="${BASE_DIR}/Copias_Backup/backup_${TIMESTAMP}.zip"
|
|
# ------------------------------------------
|
|
|
|
echo "--- Iniciando copia de seguridad de: ${SOURCE_DIR} ---"
|
|
|
|
# Verificar si el directorio de origen existe
|
|
if [ -d "$SOURCE_DIR" ]; then
|
|
|
|
echo "Comprimiendo a: $DEST_FILE"
|
|
|
|
# Navegamos al directorio base para que los nombres de los archivos dentro del ZIP
|
|
# sean relativos a BASE_DIR (ej. data/alarmas, data/musica).
|
|
cd "$BASE_DIR" || exit 1 # Salir si no se puede cambiar de directorio
|
|
|
|
# Comando 'zip':
|
|
# -r: recursivo (incluye subdirectorios)
|
|
# -q: silencioso (quita la lista de archivos)
|
|
# Ruta del archivo ZIP de destino, y luego la carpeta que queremos comprimir ('data')
|
|
zip -rq "$DEST_FILE" "data"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "La copia de seguridad comprimida se ha completado con éxito."
|
|
exit 0
|
|
else
|
|
echo "ERROR: Fallo al crear el archivo ZIP."
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "ERROR: El directorio de origen (${SOURCE_DIR}) no existe. Abortando."
|
|
exit 1
|
|
fi |