Aquesta és una revisió antiga del document
backup 10 minutos al día
explicación
Mira en los directorioes asignados si ha habído cambios desde la última vez, si hay algún cambio, hace el backup completo, lo encripta y lo envía a un SFTP
Si no hay cambios, envía al SFTP un archivo SINCAMBIOS vacío.
código
#!/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="diezminutos_com" DIR_ORIGEN="/home/diezminutos" CHEKSUM_ACT="" CAMBIOS="NO" FECHA=`eval date +%y%m%d` # calcula SHA1 directorios declare -a DIRECTORIOS=("app.10minutos" "appb.10minutos" "public" "beta" "system") for directorio in "${DIRECTORIOS[@]}"; do ## 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�~C tar zvcpf ~/$FICHERO.tar.gz ~/app.10minutos ~/appb.10minutos ~/public ~/beta ~/system ~/*.sh # CRC32 crc32 $FICHERO.tar.gz > $FECHA.crc CRC=`cat $FECHA.crc` touch $FECHA-$FICHERO.$CRC #encriptaci�~C gpg --trust-model always -r "Miguel Angel Torres Egea (backups)" --encrypt ~/$FICHERO.tar.gz # borrado fichero original rm -f ~/$FICHERO.tar.gz rm -f $FECHA.crc # renombrado mv $FICHERO.tar.gz.gpg $FECHA-$FICHERO.tar.gz.gpg # copia scp -i ~/.ssh/backups\@seedbox.torresegea.es $FECHA-$FICHERO.* backups@seedbox.torresegea.es:~/10minutosaldia.com # borrado fichero encriptado rm -f $FECHA-$FICHERO.tar.gz.gpg rm -f $FECHA-$FICHERO.$CRC else touch $DIR_ORIGEN/$FECHA-SINCAMBIOS.TXT scp -i ~/.ssh/backups\@seedbox.torresegea.es $FECHA-SINCAMBIOS.* backups@seedbox.torresegea.es:~/10minutosaldia.com rm -f $FECHA-SINCAMBIOS.TXT fi