Script per backuppare una macchina xen, comprimere le cartelle "importanti" e mandarle in rsync "furbo" su una macchina remota.
LVNAME=ale #logica volume name VGNAME=birra #virtual group name HOST=www.myhost-I-want-to-backup.org #name of the host machine to backup BACKUP_HOST=backup.machine.it #name of the machine where we want to upload the backup BACKUP_USER=lorenzo BACKUP_DIR=/home/lorenzo/ale #backup dir where we put tar.gz files DIRS="home var" #dirs to backup MYSQLPASS=mypass #--------------------------------------------------# mkdir -p /backup ssh root@$HOST "mkdir -p /root/backup/; mysqldump -p$MYSQLPASS --all-databases | bzip2 -c > /root/backup/norimberga-alldb-`date -I`.sql.bz2" # svn, hg backup here # create a snapshot lvcreate -L20G -s -n $LVNAME\_snap /dev/$VGNAME/$LVNAME mkdir -p /mnt/$LVNAME\_backup mkdir -p /backup/$LVNAME mount /dev/$VGNAME/$LVNAME\_snap /mnt/$LVNAME\_backup # we use a rsync friendly gzip # more details to http://svana.org/kleptog/rgzip.html cd /mnt/$LVNAME\_backup tar c --use-compress-program /usr/local/bin/rgzip -vf /backup/$LVNAME/$LVNAME`date -I`.tar.gz2 $DIRS #rsync with the backup machine rsync -avz -e ssh /backup/$LVNAME/$LVNAME`date -I`.tar.gz2 $BACKUP_USER@$BACKUP_HOST:$BACKUP_DIR #umount and destroy snapshot umount /mnt/$LVNAME\_backup lvremove /dev/$VGNAME/$LVNAME\_snap