Robocopy silenciosamente arquivos ausentes

2

Estou usando o Robocopy para sincronizar dados do disco rígido do nosso servidor para um disco externo como backup. É uma solução bastante simples, mas praticamente a melhor / mais fácil que conseguimos - usamos dois discos externos e os rotacionamos externamente.

De qualquer forma, aqui está o script (com os comentários retirados) que estou usando para fazer isso. Funciona muito bem, é rápido e quase 100% completo - no entanto, está agindo de forma bem estranha com alguns arquivos (note que o nome da empresa foi alterado nos caminhos para proteger os inocentes):

@ECHO OFF
set DATESTAMP=%DATE:~10,4%/%DATE:~4,2%/%DATE:~7,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%

SET prefix="E:\backup_log-"

SET source_dir="M:\Company Names Data\Working Folder\_ADMIN_BACKUP_FILES\COMPA AANY Business Folder_Backup_040407\COMPANY_sales order register\BACKUP CLIENT FOLDERS & CURRENT JOBS pre 270404\CLIENT SALES ORDER REGISTER"


SET dest_dir="E:\dest"
SET log_fname=%prefix%%date:~-4,4%%date:~-10,2%%date:~-7,2%.log
SET what_to_copy=/COPY:DAT /MIR
SET options=/R:0 /W:0 /LOG+:%log_fname% /NFL /NDL

ROBOCOPY %source_dir% %dest_dir% %what_to_copy% %options%

set DATESTAMP=%DATE:~10,4%/%DATE:~4,2%/%DATE:~7,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%
cscript msg.vbs "Backup completed at %DATESTAMP% - Logs can be found on the E: drive."
:END

Normalmente, a fonte seria apenas M: \ Comapany name data \, mas alterei o script um pouco para testar o problema.

Os seguintes arquivos na origem não são copiados para o destino:

Someclient\SONICP~1.DOC
Someclient\SONICP~2.DOC
Someclient\SONICP~3.DOC

No entanto, arquivos no mesmo diretório chamado:

TIMESH ~ 1.XLS    TIMESH ~ 2.XLS

são copiados. Eu consigo abrir os arquivos que não são copiados sem nenhum problema, e eles certamente não foram abertos quando eu executei o robocopy, então não é um problema de bloqueio. O Robocopy está sendo executado como administrador, portanto, não é um problema de permissões.

Não há nenhum rastreio em que esses arquivos foram sequer tentados a serem copiados, pois não há erros sendo enviados no log ou no meu prompt de comando.

Alguém tem alguma sugestão sobre o que isso poderia ser? Disco rígido rebentado?

Felicidades, João.

    
por John Hunt 20.01.2011 / 01:37

5 respostas

3

Tem certeza de que a conta que está fazendo a cópia em cache tenha acesso de leitura a esses arquivos? Talvez alguém tenha editado as permissões em apenas alguns arquivos ...

EDIT: releia o post e percebeu que você já testou as permissões.

Se você quiser testar apenas esses arquivos, por que não tentar copiá-los manualmente com a GUI? Se isso funcionar, basta executar esta linha:

robocopy "M:\Company Names Data\Working Folder\_ADMIN_BACKUP_FILES\COMPA AANY Business Folder_Backup_040407\COMPANY_sales order register\BACKUP CLIENT FOLDERS & CURRENT JOBS pre 270404\CLIENT SALES ORDER REGISTER\<filename_that_isn't_working>" E:\dest

Comece pelas operações mais básicas e adicione as coisas de volta até encontrar um problema.

    
por 20.01.2011 / 20:47
0

Você pode estar colidindo com o comprimento máximo do caminho, que, incluindo o nome do arquivo de término, tem apenas 260 caracteres.

Eu me deparei com esse tipo de coisa antes com repositórios de subversão que possuem diretórios profundos e funcionam muito bem em sistemas UNIX / Linux, mas pessoas em sistemas Windows não podem executar uma verificação completa porque alguns dos caminhos são muito longos .

    
por 20.01.2011 / 01:49
0

Eu tentaria limpar esse diretório específico e, em seguida, ver se o arquivo foi escrito corretamente.

Execute também um chkdsk no seu disco externo.

E qual é o sistema de arquivos no destino e é do mesmo tipo que o sistema de arquivos de origem?

    
por 20.01.2011 / 18:13
0

Talvez você possa tentar com a opção / Z

/Z : Copy files in restartable mode (survive network glitch).

    
por 20.01.2011 / 20:07
0

Você diz que seu log não contém informações valiosas, mas pediu ao robocopy para NÃO registrar nomes de arquivos e nomes de diretórios: / NFL / NDL

Você realmente deve empurrar as opções de registro para o máximo até descobrir qual é o seu problema.

/ x Informa todos os arquivos extras, não apenas aqueles que são selecionados
/ v Produz saída detalhada e mostra todos os arquivos ignorados
/ fp Inclui os nomes dos caminhos completos dos arquivos na saída
/ np desativar a barra de progresso

Para resolver seu problema, você pode tentar:
/ zb Usa o modo Restart. Se o acesso for negado, esta opção usa o modo Backup

Se algo falhar, tente (não me lembro o que essas opções fazem): / is Inclui os mesmos arquivos em / it Inclui arquivos "tweaked"

    
por 12.01.2015 / 01:01