Backups varios

Fast Backup #1

# mkdir -p /root/Backup/
# cd Backup/
# cp -r /etc ./
# cp -r /usr/local/etc ./
# pkg_info >> pkg_info.txt
# for i in `pkg_info | cut -f1 -d" "`; do pkg_info -L $i >> pkg_info-l.txt; done
# tar cfvz bck-`hostname -s`-`date "+%Y%m%d"`.tar.gz ./

Fast Backup #2

# mkdir /home/backup
# cd /home/backup
# tar -jcvvf fullbackup-`hostname -s`-`date +%F`.tar.bz2 /etc /usr/local/etc /var/db/pkg

Basic Backup

#!/usr/local/bin/bash
 
# Montando la partición de seguridad
/sbin/mount /backup
 
# Sincronizando bbdd y htdocs
/usr/local/bin/rsync --progress --delete -lprtvvzog /var/lib/mysql/ /backup/mysql/
/usr/local/bin/rsync --progress --delete -lprtvvzog /var/www/ /backup/htdocs/
 
# Copiando partes importantes del sistema
/usr/local/bin/rsync --progress --delete -lprtvvzog /etc/ /backup/etc/
/usr/local/bin/rsync --progress --delete -lprtvvzog /var/log/messages/ /backup/logs/
/usr/local/bin/rsync --progress --delete -lprtvvzog /home/ /backup/home/
 
# Desmontando la partición de seguridad
/sbin/umount /backup
 

Complete Backup

 
#!/bin/bash
 
# ------------------------------------------------------------
# Variables Generales
# ------------------------------------------------------------
COUNT=168                   # numero de rotaciones
BASE=backup                 # nombre base para las copias
WORK=/media/backup2/muro/   # directorio de trabajo
IP=192.168.0.1              # ip del servidor a copiar
 
LOGDIR=/media/backup2/log/
LOGNAME=backup_muro.`date '+%d.%m.%Y_%H:%M'`.log
EMAIL_ADMIN=logs@gmail.com
CMD_RSYNC=/usr/bin/rsync
 
 
# ------------------------------------------------------------
# Directorios
# ------------------------------------------------------------
SRCDIR=( /etc/ /bin/ )
DSTDIR=( /sys/etc/ /sys/bin/ )
 
 
# ---------------------------------------------------------
# Verificamos que los arrays tienen los mismos elementos
# ---------------------------------------------------------
SRCNUM=${#SRCDIR[@]}
DSTNUM=${#DSTDIR[@]}
 
if [ $SRCNUM -ne $DSTNUM ]; then
        echo "Los arrays son desiguales"
        exit
fi
 
 
# ------------------------------------------------------------
# Movemos $base.0 a $base.1 para dej last backup en 0
# Restamos uno alum de elementos del array (empieza en 0)
# Y empezamos la copia de seguridad SOLO si la IP responde
# al ping que enviamos
# ------------------------------------------------------------
if ping -c 1 $IP >/dev/null 2>&1
then
        cd $WORK
        k=$COUNT
        rm -rf $BASE.$k
        while [ $k -gt 0 ]; do
                mv $BASE.$(($k-1)) $BASE.$k 2> /dev/null
                mv $BASE.$(($k-1))-info $BASE.$k-info 2>/dev/null
                k=$(($k-1))
        done
        for i in `seq 0 $(($SRCNUM-1))`; do
 
                # Creamos los directorios correspondientes
                echo "mkdir -p $BASE.0${DSTDIR[$i]}"
 
                # Sincronizamos
                echo "$CMD_RSYNC -lprtvvzog -e ssh \
                        --link-dest=$WORK$BASE.1${DSTDIR[$i]} \
                        root@$IP:${SRCDIR[$i]} \
                        $WORK$BASE.0${DSTDIR[$i]}"
        done
 
        # Reportando la informacion
        echo "Rotated on `date '+%d.%m.%Y_%H:%M'`" > $BASE.0-info
        cat $LOGDIR/$LOGNAME | mail -s "$LOGNAME" $EMAIL_ADMIN
else
        echo "$IP no responde"
        exit
fi
# EOF