Backup em shell script na virtualização de máquinas (VMWare)
Fazer becape de máquinas virtuais é um procedimento importante para manutenção de um serviço. Imaginem que o servidor de vocês faça uma atualização ou sofra um ataque de vírus e pare de funcionar. É uma situação que, acredito, muitos passamos. Mas um becape pode restaurar essa VM sem grandes dificuldades.
Executar becapes manuais é sempre muito chato, além do fato de você esquecer mesmo. Então um script vem a calhar. Mas como parar uma VM através do shell?
Bom, esse problema eu resolvi ao ler o manual do VMRUN. É um comando para gerenciar as VMs e, com certa paciência, fácil de usar. Por exemplo, se quiser saber quais VMs estão rodando no nosso servidor no momento, basta utilizarmos o comando:
# vmrun -T server -h https://127.0.0.1:8333/sdk -u root -p senha list
Total running VMs: 2
[VMs] Windows Server 2003 Standard Edition/Windows Server 2003 Standard Edition.vmx
[VMs] winxp/Windows XP Home Edition.vmx
Notem que tenho duas VMs. Para copiar os arquivos da primeira posso utilizar o comando abaixo para suspender a sua execução.
# vmrun -T server -h https://127.0.0.1:8333/sdk -u root -p senha suspend "[VMs] Windows Server 2003 Standard Edition/Windows Server 2003 Standard Edition.vmx"
Com a máquina suspensa, posso efetuar o becape. Basta rodar a máquina novamente e estamos com o processo finalizado.
# vmrun -T server -h https://127.0.0.1:8333/sdk -u root -p senha start "[VMs] Windows Server 2003 Standard Edition/Windows Server 2003 Standard Edition.vmx"