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:
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
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
como posso fazer overclock nesse programa? (1)
Grub não reconhece o Windows 11 (1)
PC congelando em momentos aleatórios (em várias distros) (2)