Backups incrementales con rsync

#!/usr/local/bin/bash
 
# Variables
COUNT=3							# nĂºmero de rotaciones
BASE=backup						# nombre base para las copias
WORK=/var/backups/master	# directorio de trabajo
IP=192.168.1.24				# ip del servidor a copiar
 
# Directorios system
ETC_DIR=/etc/
LOCALETC_DIR=/usr/local/etc/
BOOT_DIR=/boot/
BIN_DIR=/bin/
SBIN_DIR=/sbin/
# Directorios data
HTDOCS_DIR=/usr/local/apache/htdocs/
MYSQL_DIR=/var/db/mysql/
MAIL_DIR=/var/spool/mail/postfix/
HOMES_DIR=/home/
ROOT_DIR=/root/
 
cd $WORK
 
i=$COUNT
rm -rf $BASE.$i
 
while [ $i -gt 0 ]; do
 
        mv $BASE.$(($i-1)) $BASE.$i 2> /dev/null
        mv $BASE.$(($i-1))-info $BASE.$i-info 2>/dev/null
 
        i=$(($i-1))
done
 
# Creamos estructura base
#	system						data
#		|etc							|htdocs
#		|usr_local_etc				|mysql
#		|boot							|mail
#		|bin							|homes
#		|sbin							|root
 
mkdir -p $BASE.0/system/etc $BASE.0/system/usr_local_etc $BASE.0/system/boot $BASE.0/system/bin $BASE.0/system/sbin
mkdir -p $BASE.0/data/htdocs $BASE.0/data/mysql $BASE.0/data/mail $BASE.0/data/homes $BASE.0/data/root
 
 
echo "Rotated on `date`" > $BASE.0-info
 
# backup system
rsync -avz --delete -e ssh --link-dest=$WORK/$BASE.1/system/etc root@$IP:$ETC_DIR $WORK/$BASE.0/system/etc/
rsync -avz --delete -e ssh --link-dest=$WORK/$BASE.1/system/usr_local_etc root@$IP:$LOCALETC_DIR $WORK/$BASE.0/system/usr_local_etc/
rsync -avz --delete -e ssh --link-dest=$WORK/$BASE.1/system/boot root@$IP:$BOOT_DIR $WORK/$BASE.0/system/boot/
rsync -avz --delete -e ssh --link-dest=$WORK/$BASE.1/system/bin root@$IP:$BIN_DIR $WORK/$BASE.0/system/bin/
rsync -avz --delete -e ssh --link-dest=$WORK/$BASE.1/system/sbin root@$IP:$SBIN_DIR $WORK/$BASE.0/system/sbin/
 
# backup data
rsync -avz --delete -e ssh --link-dest=$WORK/$BASE.1/data/mysql root@$IP:$MYSQL_DIR $WORK/$BASE.0/data/mysql/
rsync -avz --delete -e ssh --link-dest=$WORK/$BASE.1/data/htdocs root@$IP:$HTDOCS_DIR $WORK/$BASE.0/data/htdocs/
rsync -avz --delete -e ssh --link-dest=$WORK/$BASE.1/data/mail root@$IP:$MAIL_DIR $WORK/$BASE.0/data/mail/
rsync -avz --delete -e ssh --link-dest=$WORK/$BASE.1/data/homes root@$IP:$HOMES_DIR $WORK/$BASE.0/data/homes/
rsync -avz --delete -e ssh --link-dest=$WORK/$BASE.1/data/root root@$IP:$ROOT_DIR $WORK/$BASE.0/data/root/
 
# EOF