Ir ao conteúdo
  • Cadastre-se

Script para backup automático de máquinas virtuais do Virtualbox


Posts recomendados

Olá galera! :D

Eu estava precisando fazer um backup automático de algumas máquinas virtuais, sendo assim estive pesquisando por alguns scripts (.bat) para executar esta operação.

Encontrei algumas informações e fui juntando até criar o seguinte script:

 

@echo off: Oculta os comandos executados no prompt.

@echo: Mostra uma mensagem no prompt.

@color: Altera a cor do fundo e das letras do prompt.

@rem: Usado para adicionar um comentário.

cd: Altera o caminho em que o comando será executado.

xcopy: Copiar os arquivos de um local especifico.

/E -> Copia diretórios e subdiretórios mesmo que estejam vazios.

/S -> Copia diretórios e subdiretório.

/Y-> Substitui os arquivos sem que seja necessário digitar algo no prompt (SIM/NÃO/TODOS).

exit: Finaliza o prompt.

 

----------------------------------------------------------------------------------

Lembrando que os campos em negrito devem ser alterados com suas informações e é preciso remover as aspas (").

 

----------------------------------------------------------------------------------

 

Para efetuar o backup automático de uma máquina virtual criei o seguinte script (.bat):

 

@echo off

@color 0A

 

@rem O VIRTUALBOX UTILIZADO NESTE SCRIPT ESTÁ INSTALADO NO C: , CASO O SEU ESTEJA INSTALADO EM OUTRA PARTICÃO ALTERAR PELO COMANDO CD.

cd "\Program Files\Oracle\VirtualBox\"

 

@echo ----------------------------

@echo Desligando a maquina virtual

@echo ----------------------------

@rem O COMANDO A SEGUIR IRÁ DESLIGAR A MÁQUINA VIRTUAL.

vboxmanage controlvm "Nome da VM" acpipowerbutton

 

@rem O PING SERVE PARA AGUARDAR UM TEMPO ATÉ QUE A MÁQUINA SEJA DESLIGADA. EX: SE DEMORA 5 MINUTOS O VALOR DEVERA SER 300000 (-w 300000)

ping -w 300000 -n 1 1.0.0.1

 

@echo off

@rem O COMANDO A SEGUIR IRÁ ALTERAR O CAMINHO PARA A PASTA ONDE ESTÃO LOCALIZADOS OS ARQUIVOS QUE voce DESEJA FAZER O BACKUP.

cd "CAMINHO DOS ARQUIVOS PARA BACKUP"

 

@echo -------------------------------------

@echo Iniciando Backup.

@echo -

@echo O backup pode demorar alguns minutos.

@echo -------------------------------------

 

@echo off

@rem O COMANDO A SEGUIR IRÁ COPIAR OS ARQUIVOS QUE VOCÊ DESEJA, PARA O CAMINHO QUE VOCÊ SELECIONAR (SE VOCÊ INFORMAR *.* NO CAMINHO DOS ARQUIVOS PARA BACKUP SERÁ FEITO O BACKUP DE TODOS OS ARQUIVOS).

xcopy /S /E /Y "CAMINHO DOS ARQUIVOS PARA BACKUP" "CAMINHO ONDE SERÁ FEITO O BACKUP"

@echo -----------------

@echo Backup Finalizado

@echo -----------------

 

ping -w 5000 -n 1 1.0.0.1

 

@rem O COMANDO A SEGUIR IRÁ RETORNAR PARA A PASTA DA MAQUINA VIRTUAL, PARA QUE A MESMA SEJA INICIADA NOVAMENTE.

@rem ALTERAR CONFORME ESTEJA INSTALADO SEU VIRTUALBOX.

cd "\Program Files\Oracle\VirtualBox\"

 

@echo -------------------------

@echo Ligando a maquina virtual

@echo -------------------------

vboxmanage startvm "Nome da VM"

 

ping -w 10000 -n 1 1.0.0.1

 

exit

 

----------------------------------------------------------------------------------

OBS: O backup pode ser feito com a máquina virtual ligada, pois o .bat irá desligar a mesma e após terminar o backup liga-la novamente.

 

O arquivo .bat está em anexo, link abaixo:

backup.rar

 

Valeu!! B)

 

Fontes:

http://flapjacksaz.wordpress.com/2012/02/03/automated-backup-of-virtual-box-systems/

http://professorsilvertone.blogspot.com.br/2012/06/comandos-de-arquivos-em-lotes-bat.html

http://www.hardware.com.br/comunidade/copiar-pasta/1014433/

http://answers.microsoft.com/pt-br/protect/forum/mse-protect_start/fazer-um-comando-bat-e-n%C3%A3o-perguntar-se-quer/dcbf7564-d26a-4219-81f8-d409b35ece1c

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 7 meses depois...

Olá,

Eu tenho uma VM com Windows Server 2003 e não consigo fazer o desligamento por acpi. Veja:

 

C:\Program Files\Oracle\VirtualBox>VBoxManage controlvm s28lotusvm acpipowerbutton
C:\Program Files\Oracle\VirtualBox>
 
Quando eu executo o comando, simplesmente nada acontece, a VM continua ligada e no prompt não aparece nenhum erro.
Se eu tentar desligar por acpi diretamente no VirtualBox, a VM também não desliga. Isso me leva a crer que é um bloqueio do Windows Server, mas não sei qual é e nem sei como removê-lo.
 
Eu consigo desligar ela pelo prompt de comando usando o poweroff, mas tenho receio de que isso venha a corromper o Windows.
 
Você sabe me dizer se o Windows Server 2003 tenha algum bloquei contra o desligamento por acpi ou se é alguma configuração da VM e como eu faço para resolver esse problema?
Tenho 5 servidores virtuais e preciso fazer exatamente o que você descreve no tópico. Desliga-los para fazer backup e liga-los novamente, tudo por .bat. E vou executar as .bats em tarefas agendadas do Windows.
 
Obrigado.

Respondendo minha própria pergunta, caso alguém tenha o mesmo problema, eu achei a solução:

 

Desligar: permitir que o sistema seja encerrado sem a necessidade de fazer logon
 
Descrição

Essa configuração de segurança determina se um computador pode ser desligado sem que haja a necessidade de fazer logon no Windows.

Quando esta diretiva está habilitada, o comando Desligar fica disponível na tela de logon do Windows.

Quando a diretiva está desativada, a opção para desligar o computador não é exibida na tela de logon do Windows. Nesse caso, os usuários precisam poder fazer logon no computador com êxito e ter o direito de usuário Desligar o sistema para poderem desligar o sistema.

Padrão

  • Ativado em estações de trabalho.
  • Desativado em servidores.
Definindo essa configuração de segurança

Você pode definir essa configuração de segurança abrindo a diretiva apropriada e expandindo a árvore de console da seguinte forma: Configuração do computador\Configurações do Windows\Configurações de Segurança\Diretivas Locais\Opções de segurança\

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Olá amigos, tive a necessidade desse script em ambiente linux, então fiz as modificações necessárias.

Lembrando, a dica do Andreisiqueira é muito importante, pois ambientes servidores não vão desligar por acpi.

 

Segue abaixo meu Script.

 

-----------------------------------------------------------------------------------------------------------------

#!/bin/bash

# VARIAVEIS DEFINIDAS
VM="xpts"    # NOME DA MÁQUINA VIRTUAL
ORIGEM="/home/usuario/VirtualBox VMs"    # CAMINHO PADRÃO DAS MÁQUINAS VIRTUAIS
DESTINO="/media/dispositivo/backup"        # CAMINHO DOS ARQUIVOS DE BACKUP

# MOSTRA INFORMAÇÃO DE DESLIGAMENTO.
echo ----------------------------
echo Desligando a maquina virtual
echo ----------------------------

# ESTE COMANDO DESLIGA A MÁQUINA VIRTUAL.
VBoxManage controlvm $VM acpipowerbutton

# O COMANDO A SEGUIR AGUARDA O DESLIGAMENTO DA MÁQUINA.
echo "Waiting for machine $VM to poweroff..."

until $(VBoxManage showvminfo --machinereadable $VM | grep -q ^VMState=.poweroff.)
do
  sleep 1
done

# MOSTRA INFORMAÇÃO DA COPIA DO BACKUP.
echo -------------------------------------
echo Iniciando Backup.
echo
echo A copia pode demorar alguns minutos.
echo -------------------------------------

# ESTE COMANDO COPIA A MAQUINA VIRTUAL PARA O DIRETORIO DE BACKUP.
rsync -av --progress "$ORIGEM/$VM" $DESTINO

# MOSTRA INFORMAÇÃO DO BACKUP CONCLUÍDO.
echo -----------------
echo Backup Finalizado
echo -----------------

sleep 2

# MOSTRA INFORMAÇÃO DE INICIALIZAÇÃO DA MÁQUINA.
echo -------------------------
echo Ligando a maquina virtual
echo -------------------------

# ESTE COMANDO LIGA A MÁQUINA.
vboxmanage startvm $VM --type headless

until $(VBoxManage showvminfo --machinereadable $VM | grep -q ^VMState=.running.)
do
  sleep 2
done

# MOSTRA INFORMAÇÃO DA MAQUINA LIGADA E FINALIZA.
echo -----------------
echo Maquina ligada...
echo -----------------
sleep 2
echo -----------------
echo Processo concluido...
echo -----------------

sleep 3

exit

Link para o comentário
Compartilhar em outros sites

  • 10 meses depois...
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...