#!/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