Vamos conhecer o utilitário Robust File Copy, mais conhecido como Robocopy que é uma ferramenta de linha de comando que realiza cópia de dados de uma forma segura e eficiente.

Aqueles que trabalham com administração de redes e servidores de vez em quando realizam a migração de dados entre servidores, seja na ocasião de uma máquina nova ou mesmo na emergência devido a fato do servidor antigo estar com problemas. Independente da situação a transferência de dados entre os servidores sempre será necessária e esta tarefa se torna um tanto penosa quando não se tem uma ferramenta adequada. Muitos ainda utilizam a cópia manual dos dados, que além de ser mais lenta, não retorna nenhum log de verificação da cópia realizada.

Podem ser utilizados softwares e utilitários de backup, sendo que neste caso primeiro é feito o backup em alguma mídia (fita, CD, DVD...) dos dados do servidor antigo e depois os mesmos são restaurados no servidor novo. Trata-se de uma opção mais demorada.

Temos uma boa opção chamada Robocopy, que abordaremos neste artigo, que realiza a cópia de diretórios e arquivos de uma maneira rápida, simples e funcional, transferindo inclusive os atributos e permissões NTFS originais dos dados copiados, podendo gerar logs demonstrativos com todas as informações sobre a cópia e com uma ótima performance mesmo quando se trata de uma grande massa de dados.

O Robocopy atualmente na versão XP010 é uma ferramenta de linha de comando, gratuita disponível desde o Windows NT e que está incluída no pacote de ferramentas Resource Kit do Windows Server 2003, que pode ser baixado no botão baixar código fonte. Esta versão pode ser utilizada nas versões 2000, XP, 2003 e Vista do Windows. O arquivo executável possui apenas 78 KB e no diretório onde estão as ferramentas do Resource Kit (caso seja mantido o padrão da instalação, C:\Arquivos de programas\Windows Resource Kits\Tools), encontramos o arquivo robocopy.doc, contendo a descrição da ferramenta e as diversas opções de sintaxe que o robocopy possui.

Outra forma para verificar a sintaxe do comando Robocopy, seria digitando o comando com a opção /?, como mostra a Figura 1.

Comando Robocopy
Figura 1. Comando Robocopy

Opções de sintaxe para o comando Robocopy

Um cenário bem interessante para utilização do Robocopy é a migração de dados entre dois servidores de arquivos. Sabemos que neste caso além da cópia é necessária a manutenção dos atributos e permissões dos dados que serão migrados. Podem ser criados arquivos de lotes com chamadas para o Robocopy e sua sintaxe com o intuito de otimizar a tarefa ou até mesmo programar um agendamento.

A sintaxe do comando é a seguinte:

Robocopy origem destino             [opções do comando]

Exemplos de utilização do comando

Vamos ver alguns exemplos de utilização do Robocopy.

  1. Cópia do diretório Scripts armazenado na unidade C para o diretório Backup na unidade D na mesma máquina como mostra a Figura 2:
    robocopy.exe c:\scripts d:\backup
    Cópia do diretório Scripts
    Figura 2. Cópia do diretório Scripts
  2. Cópia do mesmo diretório Scripts e dos sub-diretórios (opção /e) para o diretório Backup, como mostra a Figura 3:
    robocopy c:\scripts d:\backup /e
    Cópia para o diretório Backup
    Figura 3. Cópia para o diretório Backup
  3. Cópia do dados armazenados no compartilhamento Gerencias no Servidor1 para o Servidor 2:
    robocopy                  \\servidor1\Gerencias\ \\servidor2\Gerencias\             /E /ZB /COPYALL /R:0 /W:0 /V /NP /ETA /LOG:c:\teste-robocopy.log

Vejam as opções do comando utilizadas:

  • /E – Cópia dos sub-diretórios
  • /ZB – Modo Backup
  • /COPYALL – Cópia de todas as informações do arquivo
  • /R:0 - não repete a cópia em caso de falha
  • /W:0 - por não repetir a cópia em caso de falha também não há tempo de espera entre as repetições
  • /V - Exibe os arquivos que por alguma razão não foram copiados
  • /NP - Não exibe o progresso da cópia
  • /ETA - Exibe o tempo estimado que a cópia dos dados levará
  • /LOG: - Especifica o local onde o log será armazenado

Abordamos neste artigo os conceitos para utilização do comando Robocopy que não deve faltar entre as ferramentas utilizadas por administradores e analista de redes Windows. Vale citar que o utilitário permite uma série de opções que não foram abordadas aqui, além de outros cenários e modos de utilização, mas para um aprofundamento vale a pena a leitura do arquivo doc que acompanha o Robocopy.