#!/bin/bash # # FUNCIONES # function calcula_checksum() { # calcula el SHA1 de los ficheros contenidos en el directorio pasado por parámetroe TMP=$(find "$DIR_ORIGEN/$1" -type f -print0 | xargs -0 sha1sum | sort | cut -d " " -f 1 | sha1sum) CHEKSUM_ACT=$(echo $TMP | cut -d " " -f1) unset TMP } # # VARIABLES # FICHERO="fruitsmontmany_es" DIR_ORIGEN="/home/vividumcodex" FECHA=`eval date +%y%m%d` CAMBIOS="NO" DBB_HOST="mysql.vividumcodex.com" DBB_USER="mate_backup" DBB_PASSWORD="xxx" DIRECTORIOS_TAR="" # backup BBDD declare -a BBDD=("fruitsmontmany_es") for BDD in "${BBDD[@]}"; do /usr/bin/mysqldump --opt --user=${DBB_USER} --password=${DBB_PASSWORD} --host=${DBB_HOST} ${BDD} > ${DIR_ORIGEN}/mysqldump/${BDD}.sql done # calcula SHA1 directorios declare -a DIRECTORIOS=("fruitsmontmany.es" "mysqldump") for directorio in "${DIRECTORIOS[@]}"; do DIRECTORIOS_TAR="${DIRECTORIOS_TAR} ${directorio}" ## leer checksum anterior, si existe CHEKSUM_ANT="" if [ -e "$DIR_ORIGEN/$directorio.checksum" ]; then CHEKSUM_ANT=$(cat "$DIR_ORIGEN/$directorio.checksum") fi calcula_checksum $directorio if [ "$CHEKSUM_ANT" != "$CHEKSUM_ACT" ]; then CAMBIOS="SI" echo -e "$CHEKSUM_ACT" > $DIR_ORIGEN/$directorio.checksum fi done if [ "$CAMBIOS" == "SI" ]; then # compresi�n tar zvcpf ~/$FICHERO.tar.gz --exclude-tag-all=.nobackup ${DIRECTORIOS_TAR} ~/*.sh #encriptaci�n gpg --trust-model always -r "Miguel Angel Torres Egea (backups)" --encrypt ~/$FICHERO.tar.gz # borrado fichero original rm -f ~/$FICHERO.tar.gz # renombrado mv $FICHERO.tar.gz.gpg $FECHA-$FICHERO.tar.gz.gpg # copia ## scp -i ~/.ssh/backups\@seedbox.torresegea.es $FECHA-$FICHERO.tar.gz.gpg backups@seedbox.torresegea.es:~/miguelangel.torresegea.es # borrado fichero encriptado ## rm -f $FECHA-$FICHERO.tar.gz.gpg else touch $DIR_ORIGEN/$FECHA-SINCAMBIOS.TXT ## scp -i ~/.ssh/backups\@seedbox.torresegea.es $FECHA-SINCAMBIOS.* backups@seedbox.torresegea.es:~/miguelangel.torresegea.es ## rm -f $DIR_ORIGEN/$FECHA-SINCAMBIOS.TXT fi