Onde posso encontrar pronto para usar scripts do Windows que usem robocopy?

1

Estamos instalando o Windows Resource Kit e instalamos o RoboCopy. Queremos ter acesso a alguns scripts do Windows que usam o RoboCopy para que possamos começar a partir deles para construir outra coisa. Alguma idéia de onde eu posso encontrar algumas amostras?

NOTA 1:

Um pouco de informação. Toda vez que tentamos copiar a unidade D para a unidade E (nova unidade), recebemos um erro que diz:

ERROR 32 (0x000000020) Copying File d:\pagefile.sys The process cannot access the file because it is being used by another process. Waiting 30 seconds.

Só para ajudar a descobrir isso.

    
por Geo 27.07.2009 / 23:32

7 respostas

5

Eu usei o Robocopy para sincronizar o conteúdo do site em 9 servidores da web. Aqui está uma amostra do arquivo de lote que executou o robocopy.exe. Esse arquivo em lote foi programado para ser executado a cada 5 ou 10 minutos ou pode ser executado manualmente para enviar alterações imediatamente.

robocopy.exe d:\inetpub\wwwroot\ \webserver1\d$\inetpub\wwwroot\ *.* /E /PURGE /SEC /NP /NJH /NJS /XF keepalive_*.* /XD trigger /XD "D:\inetpub\wwwroot\Long Path Name" /R:5 /COPYALL /LOG:copy_to_webserver1.log

O comando anterior copiará o conteúdo de d: \ inetpub \ wwwroot e o enviará para o d: \ inetpub \ wwwroot do servidor remoto.

/ E = copia todos os subdiretórios, incluindo os vazios | / PURGE = exclui arquivos / pastas de destino que não existem mais na fonte
/ SEC = copia as permissões de segurança (ACL) dos arquivos para o local de destino
/ NP = desativa a barra de progresso da cópia; DEFINITIVAMENTE faça isso se você estiver registrando os resultados
/ NJH = não registra o cabeçalho do trabalho
/ NJS = não registra o resumo do trabalho
/ XF = excluir a cópia de arquivos específicos (por exemplo, keepalive_ . )
/ XD = excluir a cópia de pastas específicas (por exemplo, acionador)
/ R = especifica o número de vezes para tentar novamente se a cópia falhar (por exemplo, 5)
/ COPYALL = copia tudo: dados, atributos, data e hora, segurança, propriedade e informações de auditoria; overkill realmente desde que eu especifiquei / SEC
/ LOG = registra os resultados no arquivo de registro especificado (por exemplo, copy_to_webserver1.log)

Espero que você comece com o Robocopy. Eu achei que fosse uma solução altamente confiável e muito robusta para manter nosso conteúdo em sincronia.

    
por 28.07.2009 / 00:16
2

Não tenho scripts, mas a documentação incorporada é realmente fácil de entender e muito útil.

robocopy /? | more
    
por 27.07.2009 / 23:38
0

É realmente tão simples que a maioria só faz o seu a partir do zero. Eu nunca vi nenhuma "amostra de código", como é basicamente uma questão de onde, para onde alguns parâmetros foram lançados ... mas dê uma olhada nas diferentes GUIs robocopy (apenas no Google), a maioria delas mostrará o comando gerado.

    
por 27.07.2009 / 23:39
0

Então, olhando para o seu comentário para Trondh, eu tenho vários scripts RoboCopy que estão programados, no entanto, a maneira como isso é feito (por mim, de qualquer maneira) é via tarefa agendada. Então, como exemplo, eu tenho um RoboCopy Script que copia arquivos da unidade X: para o Drive Y: usando qualquer parâmetro que eu especificar. Em seguida, crio uma tarefa agendada para executar esse script em um intervalo especificado e, se estiver preocupado em monitorar esse script, posso criar uma segunda etapa para a tarefa que envia por e-mail o log de saída, se quiser revisá-lo regularmente.

    
por 27.07.2009 / 23:57
0

Comece pequeno, copiando apenas uma pasta do ponto a ao ponto b. Certifique-se de incluir a opção / L e a opção / LOG. A opção / L apenas lista os arquivos que ela teria copiado e o / Log criará um log para que você possa verificar o que deseja copiar. De lá você apenas aumenta a complexidade. Para um script de exemplo:

robocopy "C: \ test_source" "\ servidor01 \ C $ \ test_destination" / L / V / E /LOG:"c:\test_robocopy.log "/ R: 10 / W: 30

    
por 28.07.2009 / 00:03
0

Para resolver o segundo problema, (o erro de arquivo bloqueado e a espera subseqüente), use as opções /r , /w e /reg , por exemplo:

robocopy D:\ E:\ /r:1 /w:1 /reg  

Isso significa r etry apenas uma vez após w com um segundo e tornar essas configurações padrão no reg istry.

    
por 28.07.2009 / 00:58
0

O script vinculado é um modelo que pode ser usado para copiar arquivos abertos . Você pode apenas alterar o comando de cópia no script para o robocopy e poderá fazer o robocopy de arquivos abertos.

    
por 30.12.2009 / 07:41