# 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 ./
# mkdir /home/backup # cd /home/backup # tar -jcvvf fullbackup-`hostname -s`-`date +%F`.tar.bz2 /etc /usr/local/etc /var/db/pkg
#!/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
#!/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