Para terminar con esta serie de scripts bash, ahora generamos el backup de los archivos de nuestros sitios, encriptándolos con gpg y copiandolos a una carpeta externa o Dropbox (evitaremos mandarla por mail por el tamaño) pero solo si sufrieron modificaciones. En esta oportunidad no pudimos sacar ventaja del rsync ya que al encriptar los archivo la copia sería siempre total.

#!/bin/bash
PATH_BASE=/home/administrador/BackUps
LOGFILE=$PATH_BASE/backup.log
echo "`date` - Backup de Archivos" >> $LOGFILE
 
for SITIO in sitio1.com.ar sitio2.com.ar
do 
    # Si existe el archivo md5
    if [ -f $PATH_BASE/$SITIO.md5 ]; then
	# Leo el md5 anterior
	CHECK_OLD=$(cat $PATH_BASE/$SITIO.md5)
    fi
 
    # Calculo el md5 nuevo (del directorio)
    CHECK_NEW=$(tar c /var/www/$SITIO/httpdocs/ | md5sum)
 
    # Si el md5 es igual
    if [ "$CHECK_NEW" == "$CHECK_OLD" ]; then
	echo "- $SITIO" >> $LOGFILE
    else
	echo "+ $SITIO" >> $LOGFILE
 
	# Creo el nuevo md5
	`tar c /var/www/$SITIO/httpdocs/ | md5sum > $PATH_BASE/$SITIO.md5` 
	>> $LOGFILE
 
	# Comprimo el directorio
	`tar czf $PATH_BASE/$SITIO.tar.gz /var/www/$SITIO/httpdocs/` 
	2>> $LOGFILE
 
	# Encripto
	gpg --armor --yes --recipient pablo@saru.com --encrypt --output 
	$PATH_BASE/$SITIO.tar.gz.gpg $PATH_BASE/$SITIO.tar.gz 2>> $LOGFILE
 
	# Borro el comprimido
	rm $PATH_BASE/$SITIO.tar.gz 2>> $LOGFILE
    fi
done