Estou impressionado com a documentação do ROBOCOPY. Quero fazer um backup incremental dos meus arquivos locais na unidade de rede (M). Quero que seja executado o mais rápido possível, sem arquivo de log e com o mínimo de texto possível na tela. Meus arquivos estão em algum lugar dentro de uma pasta (MyFolder) que possui muitas subpastas aninhadas. Por "incremental", quero dizer "apenas copie o que é novo ou alterado". Não quero excluir nenhum arquivo histórico no destino, mas se eu tiver alterado um arquivo, quero apenas a versão mais recente. E se eu não alterei um arquivo, não quero copiá-lo sobre o arquivo de backup existente. Abaixo está correto? (Executando o Win7 Enterprise.)
robocopy C:\MyFolder M:\MyFolder /z /np /xo /e
Por favor, não há sugestões para nada além de robocópia. Não tenho permissão para instalar nada. E eu não ligo para coisas de segurança. Eu tenho pessoas para isso (quer eu queira ou não). ;-)
/MT[:N]
Eu tenho uma CPU de 4 núcleos, então normalmente uso algo entre 8 e 16 para o meu número de threads. Eu imagino 2-4 threads por núcleo. Você certamente deve testar com valores diferentes no seu hardware. O multithread ajuda mais quando você tem muitos arquivos pequenos. Se você tiver um pequeno número de arquivos grandes, isso não ajudará quase tanto.Respostas:
Estou usando com sucesso uma variante do seguinte script há alguns anos:
Parâmetros explicados
A
/MIR
opção (equivalente a/E /PURGE
) significa "espelho" e é a opção mais importante. Ele considera sua pasta de origem como "principal", fazendo com que ela substitua quaisquer alterações no lado do destino, o que é uma configuração útil para um backup./FFT
é uma opção muito importante, pois permite uma diferença de 2 segundos ao comparar registros de data e hora de arquivos, de modo que pequenas diferenças de relógio entre o computador e o dispositivo de backup não importam. Isso garantirá que apenas os arquivos modificados sejam copiados, mesmo que os horários de modificação não sejam exatamente sincronizados./R:3
especifica o número de tentativas, se a conexão falhar, e/W:10
especifica um tempo de espera de 10 segundos entre as tentativas. Essas são opções úteis ao fazer o backup em uma rede./Z
copia arquivos no "modo de reinicialização", para que os arquivos parcialmente copiados possam ser continuados após uma interrupção./NP
e/NDL
suprimir alguns saída de depuração, você também poderá adicionar/NS
,/NC
,/NFL
para reduzir ainda mais a quantidade de saída (ver a documentação para mais detalhes). No entanto, sugiro imprimir alguma saída de depuração durante as primeiras execuções, para garantir que tudo esteja funcionando conforme o esperado.Parâmetros úteis adicionais mencionados por outros usuários
/XJD
exclui "pontos de junção" para diretórios, links simbólicos que podem causar problemas como loops infinitos durante o backup. Veja os comentários de Brian para detalhes./MT[:N]
usa multithreading e pode acelerar transferências de muitos arquivos pequenos. Para N, um valor de 2-4 vezes o número de núcleos deve ser feito em uma máquina normal. Comentado por Zoredache na pergunta original.Edite em resposta ao comentário de Granger:
Se você realmente deseja manter os arquivos existentes no destino, mas não no lado da fonte, basta substituir a
/MIR
opção por/E
. No entanto, eu sugiro usar/MIR
quando você deseja usar o destino para backups incrementais. Caso contrário, todos os arquivos que foram renomeados ou movidos na fonte irão sobrecarregar o destino, o que significa que você recebe duplicatas. Normalmente, crio uma subpasta "backup" no destino que contém uma cópia 1: 1 da minha árvore de pastas de origem. Dessa forma, você ainda pode manter os arquivos históricos próximos à pasta de backup e removê-los ou reorganizá-los com segurança posteriormente.fonte
Eu gosto de usar o seguinte:
Eu executo isso como administrador para que o modo de backup (
/b
opção) possa fazer cópias dos arquivos em uso.Outras opções não relacionadas à natureza incremental do backup são:
/XD
excluir diretórios do backup./XJD
para excluir pontos de junção ("Minhas músicas")./R:0
para definir a nova tentativa em tentativas com falha como 0./XA:SH
pular arquivos ocultos e do sistema.Para remover o máximo possível de informações de log, anexe as seguintes opções
/NP /NS /NDL /NFL /NC
.fonte