<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>XENBackup</title><revhistory><revision><revnumber>3</revnumber><date>2009-03-17 00:52:24</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>2</revnumber><date>2009-03-09 23:57:23</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>1</revnumber><date>2009-03-09 20:50:36</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision></revhistory></articleinfo><para>Script per backuppare una macchina xen, comprimere le cartelle &quot;importanti&quot; e mandarle in rsync &quot;furbo&quot; su una macchina remota. </para><screen><![CDATA[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
]]><![CDATA[
ssh root@$HOST "mkdir -p /root/backup/; mysqldump -p$MYSQLPASS --all-databases | bzip2 -c > /root/backup/norimberga-alldb-`date -I`.sql.bz2"
]]><![CDATA[
# svn, hg backup here
]]><![CDATA[
]]><![CDATA[
# create a snapshot
]]><![CDATA[
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
]]><![CDATA[
]]><![CDATA[
# 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
]]><![CDATA[
#rsync with the backup machine
]]><![CDATA[
rsync -avz -e ssh /backup/$LVNAME/$LVNAME`date -I`.tar.gz2 $BACKUP_USER@$BACKUP_HOST:$BACKUP_DIR
]]><![CDATA[
#umount and destroy snapshot
]]><![CDATA[
umount /mnt/$LVNAME\_backup
lvremove /dev/$VGNAME/$LVNAME\_snap
]]></screen></article>