Script para Clonar Máquina Virtual no VirtualBox

Como se pode perceber, uso muito Virtualização.

Minha ferramenta preferida é o VirtualBox mas ela tem algumas limitações dependendo do SO host (Ubuntu, Fedora, Windows, etc).

Onde trabalho, uso Fedora e precisei clonar uma máquina virtual e o VirtualBox já tem essa finalidade mas na minha instalação isso estava faltando.

Para não perder tempo tentando entender como arrumar o VirtualBox, algo que já percebi ser trabalhoso, resolvi escrever meu próprio script (estou estudando shell script).

Publico o resultado mas já adianto que não testei completamente, só afirmo que ele clonou a máquina que solicitei.

Atenção: a responsabilidade por qualquer ação feita em seu sistema é só sua! Na dúvida, não faça nada.

1) Em qualquer diretório sob /home/seuusuario (troque seuusuario pelo seu usuario) ou nele mesmo, crie um arquivo com o conteúdo abaixo e salve.
2) Como você estará no seu diretório, provavelmente, o arquivo já estará com permissão e posse adequadas mas, para se certificar, digite ls -l |grep nomedoarquivoquevocecriou.
3) Se precisar alterar algo, faça o seguinte:

~$ chown seuusuario:seuusuario nomedoarquivoquevocecriou
~$ chmod 755 nomedoarquivoquevocecriou

4) Para executar, digite ./nomedoarquivoquevocecriou e responda as perguntas que serão feitas.

Pronto, a máquina virtual estará clonada e já configurada para ser acessada pelo seu usuário, basta criar no VirtualBox.

Segue o script:


#!/bin/bash
clear
echo “SCRIPT PARA CLONAR MÁQUINA VIRTUAL COM O VIRTUALBOX!”
echo “Lista de diretórios disponíveis.”
cd /home/$USER/VirtualBox*
ls -l
if [ -e /home/$USER/VirtualBox* ]
then

echo -n “Informe o diretório em que está a máquina virtual que será clonada (código vd1): ”
read vd1

if [ -e $vd1 ]
then
cd /home/$USER/VirtualBox\ VMs/$vd1
pwd
echo “Lista de máquinas virtuais disponíveis.”
ls -l |grep .vdi
echo -n “Informe o nome da máquina virtual que quer clonar, exatamente igual ao da lista. (código vd2): ”
read vd2

if [ -e $vd2 ]
then
echo -n “Informe o nome do clone que quer criar (código vd3): ”
read vd3
echo -n “Informe nome do usuário que será dono do arquivo (código vd4): ”
read vd4

if [ -e /home/$vd4 ]
then
echo “As informações fornecidas foram: ”
echo “Nome da máquina virtual que será clonada = $vd2.”
echo “Nome da máquina virtual clone = $vd3.”
echo “Nome do usuário proprietário da máquina clone = $vd4.”
echo “Se as informações estão corretas, digite ok.”
echo “Para corrigir alguma informação, digite o respectivo código.”
echo -n “Opção = ”
read vd5

if [ $vd5 = “ok” ]
then
sudo VBoxManage clonehd $vd2 $vd3.vdi
sudo chown $vd4:$vd4 $vd3.vdi
sudo chmod 775 $vd3
sudo echo “$vd3 criada com sucesso!”

else
echo “Opção inválida! Inicie o programa novamente.”
fi

else
echo “$vd4 não existe! Inicie o programa novamente.”
fi
else
echo “$vd2 não existe! Inicie o programa novamente.”
fi
else
echo “$vd1 não existe! Inicie o programa novamente.”
fi
else
echo “Diretório /home/$USER/VirtualBox*/$vd1 não existe!”
fi

Se você testar e tiver alguma dificuldade, eu gostaria de ouví-la. Isso vai me ajudar a aprender e, talvez, eu consiga te ajudar.

Abraço,
Fábio

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s