Home   Montaña   Fotos   Linux   Estu   De todo un poco Google logo

Uso de rsync para copias locales

Un estúpido script para copias en el disco USB.

#!/bin/sh
#
# Script para backup basado en rsync
#

# Ver si la unidad de backup está montada
HOST=$(hostname -f)
OS="debian"
BACKUP_DIR=/media/usbdisk/backup/$HOST/$OS
LOG="/var/log/rsync.log"
ERR="/var/log/rsync.err"
DEST="root@marqueta.lan"

RSYNC_CMD="/usr/bin/rsync --archive --delete --relative --verbose "

:>/$LOG
:>/$ERR

if [ ! -d $BACKUP_DIR ]; then
        echo "Backup media not mounted" | mail -s "Backup failed" $DEST
        exit 1
fi

# Directorio /etc
$RSYNC_CMD /etc $BACKUP_DIR >>$LOG 2>>$ERR

# BIND
$RSYNC_CMD /var/named/chroot $BACKUP_DIR >>$LOG 2>>$ERR

# Webs
$RSYNC_CMD /var/www/vhost $BACKUP_DIR >>$LOG 2>>$ERR

# MySQL
$RSYNC_CMD /var/lib/mysql $BACKUP_DIR >>$LOG 2>>$ERR

# /home/luis
$RSYNC_CMD /home/luis $BACKUP_DIR >>$LOG 2>>$ERR

# Correo
$RSYNC_CMD /var/lib/imap $BACKUP_DIR >>$LOG 2>>$ERR
$RSYNC_CMD /var/spool/imap $BACKUP_DIR >>$LOG 2>>$ERR

# Scripts locales
$RSYNC_CMD /usr/local/bin $BACKUP_DIR >>$LOG 2>>$ERR

# Enviar mail y salida de error
mail -s "Backup ended" $DEST < $ERR