Backup de arquivos (robocopy) | Erro nos arquivos em uso

0

OS: Windows 7 x64 (HomePremium) CMD: >robocopy [source] [destination] -options

$ robocopy "C:\Users\itzme\AppData\Roaming\Mozilla\Firefox\Profiles\geo2eich.default" "E:\download\internet\firefox\geo2eich.default" /MIR /SEC

Eu uso Robocopy dentro do Windows para fazer backup de meus arquivos / unidades. O problema é que estou recebendo erros para destinos que estão atualmente em uso, como ( exemplos de quais arquivos estão em uso durante a execução agendada incluem ):

Foobar2000 (portátil): _running -file

Firefox: parent.lock -file

Como tenho essa tarefa agendada para ser executada diariamente, é bem provável que esses programas estejam em execução no momento da execução agendada, por isso, os conflitos são consistentes.

Então, minha pergunta é: existe uma maneira de contornar arquivos que não podem ser copiados? Como nessa situação específica, não preciso fazer backup desses arquivos "vivos", eles não contêm dados significativos que eu precisei de qualquer maneira.

    
por fohrums 02.12.2015 / 00:56

1 resposta

2

Não se esqueça de usar as opções /R:<number of retry> e /W:<time before next retry> . Se o destino para o qual você está transferindo está em uma rede ou em um tipo de armazenamento instável, você pode adicionar mais vezes de nova tentativa e aumentar a espera. No entanto, descobri que o usual /R:1 e /W:1 funciona bem na maioria dos casos. Se você não especificar essas opções, a repetição padrão será 1 milhão e o tempo de espera padrão será 30 segundos (vaca sagrada!)

Eu também tomaria muito cuidado com a opção /MIR . Isso fará uma cópia exata da origem para o destino. Se você executar este comando uma segunda vez e os arquivos de origem forem alterados , ele fará outra cópia EXATOS . Isso se torna um problema se você excluir um arquivo da fonte e quiser mantê-lo no destino (digamos, um histórico de tipos de backup), a opção /MIR removerá o arquivo do destino.

Uma maneira melhor é usar a opção /E em vez de /MIR . Basicamente faz a mesma coisa, mas mantém os arquivos no destino, a menos que eles sejam escritos.

Como você também usou a opção /SEC , isso pode não manter a persistência do arquivo em andamento. Além disso, incluiria /SECFIX . Usei isso ao migrar pastas iniciais de usuários em servidores e as permissões mantidas com /SEC /SECFIX

Por fim, você pode criar um arquivo de log para exibir os resultados após o término do comando. Primeira escolha, crie um novo arquivo de log /LOG:<filename> , segunda opção, acrescente ao final de um arquivo de log existente /LOG+:<filename>

Meu comando completo sugerido seria

robocopy "C:\Users\itzme\AppData\Roaming\Mozilla\Firefox\Profiles\geo2eich.default" "E:\download\internet\firefox\geo2eich.default" /E /R:1 /W:1 /SEC /SECFIX /LOG+:"C:\temp\robocopy.log"

Aqui está um link para a documentação completa de robocopy da MS: link

Ou, em uma linha de comando, execute robocopy /? e as opções serão exibidas. A saída parece um pouco assustadora no começo, mas você logo verá que ela está dividida em seções, por exemplo, OPÇÕES DE CÓPIA, OPÇÕES DE RETRIBUIÇÃO, etc.

Boa sorte

    
por 03.12.2015 / 00:11