Ícone do site CooperaTI

Como fazer backup de arquivos em uso (locked files) com o RoboCopy

Backup!Como copiar dados em uso?

Sei que existem outras formas de fazer isso, mas um usuário do technet contou um caso interessante. O gestor dele pediu para quue fosse feito o backup das máquinas virtuais, semanalmente, em um disco externo. Só que, por alguma diretiva da empresa, os arquivos .vhd deveriam estar “abertos” e disponíveis para uma possível verificação.
Daí já eliminou a possibilidade de usar o Windows Backup Server. Então a solução é usar um software que consiga copiar as VMs enquanto elas estejam ligadas. Eu usaria o Cobian, na versão 10, mas o Windows tem o Robocopy nativo.
Então vamos lá:
Primeiro baixe os arquivos desse link: http://ithelp.cveg.uark.edu/backup/backup.zip

Foi de lá que eu tirei essa dica, inclusive há um arquivo PDF em inglês com as mesmas instruções, só que voltado para outro tipo de situação.
Você vai usar o Vshadow.exe (de acordo com a sua versão do windows, 32 ou 64 bits) para criar um ponto de restauração e associar a uma variável:
c:vshadow.exe -script=vss-setvar.cmd -exec=vss-exec.cmd c:
Esse comando criou o ponto de restauração e atribuiu ele a um arquivo .cmd que vai servir de variável para identificá-lo logo apos. E chamou o script vss-script.cmd, que é ele que executa o robocopy.
O arquivo vss-script.cmd precisa ser criado previamente. Para o exemplo, o meu ficou assim:
call vss-setvar.cmd <— Chama a variável que o shadowcopy criou.
@echo off <—- Se não sabe o que é isso nem tenta entender o resto, rs
dosdev B: %SHADOW_DEVICE_1% <—— Atribuiu a letra B: ao arquivo de shadowcopy. Esse que é o pulo do gato, ele atribui a variável do último shadowcopy a letra definida.
robocopy B:coisas \servidor_destinocompartilhamento /MIR <—-  Copiou o c:coisas para o destino (lembre-se que o acesso é feito com a letra definida pelo dosdev)
dosdev -r -d B: <—- libera a letra de unidade e termina o JOB, assim o Vshadow pode fechar.
O /MIR é para que o arquivo de backup seja um espelho do original. Não sei o porque de não usar isso, rsrsrs, mas deve ter alguma explicação.
Pronto! Agora basta criar uma bat para a primeira linha de comando (a do vshadow.exe) e agendar no taskmanager.
Lembre-se de colocar os arquivos .exe dentro de sua pasta Windows, para que fiquem acessíveis. E não esqueça de apontar o caminho de seu arquivo de script corretamente.
Sair da versão mobile