#! /bin/bash

# script que empaqueta y comprime los ficheros modificados
# desde la última copia incremental
# en un fichero llamado incremental-aaaa.mm.dd-HH.MM.SS.tar.zip

############################################################
# INICIO VARIABLES
############################################################

# variable con la fecha en el formato indicado (aaaa.mm.dd-HH.MM.SS)
FECHA=`date +%Y.%m.%d-%H.%M.%S`

# variable con la ruta de los ficheros
RUTA_FICHEROS=~/copia_seguridad

# variable con el fichero con la fecha de la última copia incremental
FICHERO_ULTIMA_COPIA_INCREMENTAL=$RUTA_FICHEROS/fecha-ultima-copia-incremental.txt

# variable con el fichero comprimido
FICHERO_COMPRIMIDO=$RUTA_FICHEROS/incremental-$FECHA.tar.zip

# variable con eldirectorio que queremos copiar y comprimir
DIRECTORIO_A_COPIAR=~/directorio_a_copiar

############################################################
# FIN VARIABLES
############################################################

# si no exixte el directorio a copiar mostramos un error
# y paramos la ejecución
if [ ! -d $DIRECTORIO_A_COPIAR ]; then
	echo "No exixte el directorio a copiar."
	exit 1
fi

# si no existe el FICHERO_ULTIMA_COPIA_INCREMENTAL mostramos un error
# y paramos la ejecución
if [ ! -e $FICHERO_ULTIMA_COPIA_INCREMENTAL ]; then
	echo "No hay última copia incremental."
	exit 1
fi

# si no exixte el directorio de los ficheros lo creamos
if [ ! -d $RUTA_FICHEROS ]; then
	mkdirs $RUTA_FICHEROS
fi

# empaqueta y comprime los ficheros modificados
# desde la última copia incremental
find $DIRECTORIO_A_COPIAR/*.txt -newer $FICHERO_ULTIMA_INCREMENTAL | zip -@ $FICHERO_COMPRIMIDO

# guardar la fecha de la última copia incremental
# en FICHERO_ULTIMA_COPIA_INCREMENTAL
echo $FECHA > $FICHERO_ULTIMA_COPIA_INCREMENTAL