Backup máquina virtual XenCenter

1. Backup máquina virtual XenCenter

Rogerio Marques Cardoso
bradroger

(usa Debian)

Enviado em 21/11/2012 - 14:13h

Pessoal, preciso fazer o backup constantemente de um servidor que esta instalado no meu XenCenter, o problema que estou enfrentando é que ele possui duas unidades de disco ai não consigo fazer o backup, estou utilizando o script abaixo:

Alguém pode me ajudar?

vms="$1"
# Diretorio onde sera feito o backup. Pode ser via NFS...
dirBack=/backup
#Separador de campo para o "for". Previne erros no caso de espaç
# no nome das VMs
IFS="
"
#Inicio do for. Cada loop faz backup de uma VM.
for vm in $(echo $vms)
do
#Cria uma variavel data com o formato da data que quero pra compor
# o nome do arquivo de backup
time=$(date --date "now" +%d_%m_%y_%H:%M)
#Agora componho o nome do arquivo de backup
snapName=$vm-bk-$time
#Aqui crio um snapshot. Ele eh necessario para nãprecisar
# parar a VM. O backup eh feito com ela em producao.
ID=$(xe vm-snapshot vm="$vm" new-name-label=$snapName &&
{
logger -t "XenBackup" -s "$vm - OK Passo 1"
}||{
logger -t "XenBackup" -s "$vm - ERR Passo 1"
echo 1
})
#Na criacao do snap acima, a variavel ID recebe o UID do
# snap.No caso de erro, ela recebe "1"
#O logger joga o log joga no /var/log/messages

#Abaixo façum teste pra checar se deu erro.
if [ "$ID" == "1" ]
then
exit 1
fi
#Pra essa tarefa, uso o ID obtido no passo anterior.
xe template-param-set is-a-template=false uuid=$ID &&
{
logger -t "XenBackup" -s "$vm - OK Passo 2"
}||{
logger -t "XenBackup" -s "$vm - ERR Passo 2"
exit 2
}
#Perceba o uso das variaveis. Nao vah se perder ;)
xe vm-export vm=$snapName filename=$dirBack/$snapName
{
logger -t "XenBackup" -s "$vm - OK Passo 3"
}||{
logger -t "XenBackup" -s "$vm - ERR Passo 3"
exit 3
}
xe vm-uninstall vm=$snapName force=true
{
logger -t "XenBackup" -s "$vm - OK Passo 4"
}||{
logger -t "XenBackup" -s "$vm - ERR Passo 4"
exit 4
}

gzip $dirBack/$snapName
{
logger -t "XenBackup" -s "$vm - OK Passo 5"
}||{
logger -t "XenBackup" -s "$vm - ERR Passo 5"
exit 5
}
#Fala a verdade, voce jah ia esquecer de encerrar o "for"...
done
exit 0



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts