#!/bin/bash

#Comprobar paso de argumento
if [ $# -ne 4 ]; then
	echo "Uso: $0 <directorio> <directorio_guardado> <0 archivar 1 comprimir> <0 no sobreescribir 1 sobreescribir>"
	exit 1
fi

DIR=$1
DEST=$2
OPCION_TAR=$3
SOBREESCRIBIR=$4

#Comprobar que DIR es un directorio
if [ ! -d "$DIR" ]; then
	echo "ERROR: $DIR no es un directorio o no existe"
	exit 1
fi

#Creo el directorio de DESTINO. Si no existe lo crea, sino, no hace nada.
mkdir -p "$DEST"

#Creo el nombre con la plantilla dada en el enunciado.
NOMBRE_BASE="$(basename $DIR)_${USER}_$(date +%Y%m%d)"

# Comprueba si existe el .tar o existe el .tar.gz
if [[ ( -f "$DEST/${NOMBRE_BASE}.tar" || -f "$DEST/${NOMBRE_BASE}.tar.gz" ) && $SOBREESCRIBIR -eq 0 ]]; then
    echo "ERROR: Ya existe una copia de seguridad (comprimida o no) en el destino."
    exit 1
fi

#Creación del fichero comprimido o no. -c crea -z comprime con gzip -v ver progreso (no necesario) -f especificar nombre archivo
if [ $OPCION_TAR -eq 0 ]; then
	NOMBRE_FINAL="$NOMBRE_BASE.tar"
	tar -cvf "$DEST/$NOMBRE_FINAL" "$DIR"
elif [ $OPCION_TAR -eq 1 ]; then
	NOMBRE_FINAL="$NOMBRE_BASE.tar.gz"
	tar -czvf "$DEST/$NOMBRE_FINAL" "$DIR"
fi
