#!/usr/local/bin/bash # Variables COUNT=168 # numero de rotaciones BASE=backup_data # nombre base para las copias WORK=/mnt/databackup # directorio de trabajo IP=192.168.0.1 # ip del servidor a copiar LOGDIR=/var/log/backup LOGNAME=data_backup.`date '+%d.%m.%Y_%H:%M'`.log CMD_RSYNC=/usr/local/bin/rsync # 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/ SPOOL_DIR=/var/spool/postfix/virtual/ 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 # data # |htdocs # |mysql # |mail # |homes # |root # |spool if [ -d $BASE.0 ]; then mkdir -p $BASE.0; fi mkdir -p $BASE.0/htdocs $BASE.0/mysql $BASE.0/mail $BASE.0/homes $BASE.0/root $BASE.0/spool echo "Rotated on `date '+%d.%m.%Y_%H:%M'`" > $BASE.0-info # backup data $CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/mysql root@$IP:$MYSQL_DIR $WORK/$BASE.0/mysql/ echo -e "$CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/mysql root@$IP:$MYSQL_DIR $WORK/$BASE.0/mysql/" >> $LOGDIR/$LOGNAME $CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/htdocs root@$IP:$HTDOCS_DIR $WORK/$BASE.0/htdocs/ echo -e "$CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/htdocs root@$IP:$HTDOCS_DIR $WORK/$BASE.0/htdocs/" >> $LOGDIR/$LOGNAME $CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/mail root@$IP:$MAIL_DIR $WORK/$BASE.0/mail/ echo -e "$CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/mail root@$IP:$MAIL_DIR $WORK/$BASE.0/mail/" >> $LOGDIR/$LOGNAME $CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/homes root@$IP:$HOMES_DIR $WORK/$BASE.0/homes/ echo -e "$CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/homes root@$IP:$HOMES_DIR $WORK/$BASE.0/homes/" >> $LOGDIR/$LOGNAME $CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/root root@$IP:$ROOT_DIR $WORK/$BASE.0/root/ echo -e "$CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/root root@$IP:$ROOT_DIR $WORK/$BASE.0/root/" >> $LOGDIR/$LOGNAME $CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/spool root@$IP:$SPOOL_DIR $WORK/$BASE.0/spool/ echo -e "$CMD_RSYNC -avz --delete -e ssh --link-dest=$WORK/$BASE.1/spool root@$IP:$SPOOL_DIR $WORK/$BASE.0/spool/" >> $LOGDIR/$LOGNAME cat $LOGDIR/$LOGNAME | mail -s "$LOGNAME" r0sk10@gmail.com # EOF