O programa robocopy.exe é uma ferramenta que faz parte do Resource Kit da Microsoft para sistemas operacionais em plataforma windows (98, XP, 2000, 2003, etc). O Resource Kit é um conjunto de ferramentas para administradores de redes. O tamanho do robocopy.exe é apenas 78Kb podendo ser baixado no link no final do tutorial. Também tem o manual (inglês) que pode ser baixado no link no final do tutorial , contendo todos os comandos do robocopy.
Nota: nas versões apos o windows vista, esta feramenta ja vem integrada ao sistema mas para versões anterios sera necessario o download e instalação do Resource Kit, segue link abaixo.
Resource Kit Windows 2003
Neste tutorial estarei descrevendo alguns parâmetros básicos, que com certeza funcionam muito bem, pois são eles que uso no dia a dia.
Basicamente, faço backup do meu servidor de arquivos para um outro computador usando o comando robocopy que além de copiar todos os arquivos, ele faz a cópia das permissões NTFS. Ou seja, faço nada mais do que um “espelhamento”.
Vamos lá.
Primeiramente é necessário colocar o arquivo robocopy.exe na raiz ou em qualquer lugar a sua escolha, desde que quando for executar o comando o prompt esteja dentro do diretório que esteja o robocopy.exe.
Segue abaixo sintaxe do comando:
C:\robocopy <origem> <destino>
Exemplo: c:\robocopy c:\Dados d:\Backup_Dados
Este seria a forma mais simples de usar o comando robocopy.
Utilizando os parâmetros;
/S – Copia todos os diretórios e subdiretórios, menos os que estão vazios.
/E – Copia todos os diretório e subdiretórios, inclusive os que estão vazios.
/SEC – Copia todas as permissões NTFS.
/PURGE – Remove no diretório de destino os arquivos que não existem no diretório de origem. Ou seja, é feita uma sincronização entre a origem e o destino.
/MIR – Esse parâmetro substitui o /E e /PURGE. E também é feita uma sincronização entre a origem e o destino. Ou seja, se existir arquivos dentro do destino que não existe no de origem, o parâmetro vai deletar aqueles que estão no destino.
/XF *.<extenção> – Esse parâmetro exclui a cópia de arquivos com extenções determinadas por você. Exemplo:
c:\robocopy c:\dados d:\Backup_dados /XF *.jpg *.doc
/LOG:arquivo – Cria um arquivo de log ao final da execução do robocopy.
Exemplo: c:\robocopy c:\Dados d:\Backup_Dados /LOG:c:\arquivo_log.txt
/LOG+:arquivo – Igual ao parâmetro anterior, mais ao invés de sobescrever o arquivo_log.txt, ele adiciona no mesmo arquivo o resultado da execução.
/MOV – Deleta todos os arquivos somente da origem após a execução do comando.
/ETA – Exibe o tempo estimado que a cópia dos dados levou para serem copiados.
/MAX:n – Copia somente os arquivos que tenham no máximo n bytes.
/MIN:n – Copia somente arquivos que tenham no mínimo n bytes.
/MAXAGE:n – Não copia arquivos antigos que um número especificado de dias na variável n.
/MINAGE:n – Não copia arquivos que não tenham uma idade mínima de dias na variável n.
/Z – Reinicia a cópia de onde parou no caso de alguma falha.
Estes são os parâmetros que mais uso no dia a dia. Segue abaixo alguns exemplos do comando robocopy.
1 – c:\robocopy c:\dados e:\backup_dados /sec /mir
2 – c:\robocopy \\servidorarq\dados \\servidor_back\dados /sec /mir /log:c:\log_backup.txt
3 – c:\robocopy c:\dados e:\backup_dados /sec /mir /XF *.jpg
4 – c:\robocopy c:\dados \\servidor_back\backup_dados /sec /mir /mov
Caso exista pastas nomeadas com espaço, é necessário fazer a inclusão de aspas no diretório. Exemplo:
Você tem um pasta que se chama “Arquivos Recentes”
c:\robocopy “c:\Arquivos Recentes” “e:\Recentes Back” /e /séc
Bem, espero este tutorial sirva para mais alguem.