Rsync Erro 23: Posso saber quais arquivos não foram transferidos?

27

Corri sudo rsync -va --progress da raiz de uma unidade externa para uma pasta em outra unidade externa. O motivo é que a unidade de origem tem um NTFS com erro e não tenho acesso a um PC com Windows para reparar o NTFS.

10 horas depois, ele disse:

sent 608725204596 bytes  received 19365712 bytes  15902210.53 bytes/sec
total size is 608586212274  speedup is 1.00
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(992) [sender=2.6.9]

Eu salvei toda a saída do terminal. No começo, existem algumas centenas de Input/output error (5) para arquivos que eu realmente não preciso somar aproximadamente 2GB. O "uso do disco" do OSX Finder me diz que a fonte é 617 bilhões de bytes, não 608 como no relatório acima.

Perguntas:

  1. A primeira parte da saída detalhada (criando uma lista de arquivos) definitivamente diz Input/output error (5) para TODOS os arquivos que não serão copiados?
  2. Será que code 23 significa que todos os arquivos, exceto os Input/output error (5) , foram copiados com sucesso?
por themirror 14.02.2014 / 01:37

3 respostas

13

23 significa apenas (da página man):

23 Partial transfer due to error

Para tudo que não pôde ser transferido, você receberá uma mensagem de erro. Observe que as mensagens de erro podem ser sobre como abrir ou ler diretórios, portanto, você não verá necessariamente uma mensagem de erro para cada arquivo que não pôde ser transferido.

Se a sua fonte não tiver mudado, você poderá executar o rsync novamente com -n para ver o que seria transferido dessa vez sem fazer a transferência.

Sobre a diferença de byte, rsync fornece o tamanho dos arquivos (quantos dados podem ser lidos a partir deles). Tem certeza de que Finder não informa o uso do disco ?

Observe também que o NTFS pode armazenar dados em fluxos alternados ou atributos dos arquivos, e rsync normalmente não transferirá (não tem conhecimento) aqueles (e isso pode ser muito bem).

    
por 14.02.2014 / 07:30
9

Você pode silenciar a saída sem erros do rsync usando o -q flag do rsync.

-q, --quiet                 suppress non-error messages

Se você executar o rsync novamente com o sinalizador -q , o rsync provavelmente falhará, mas pelo menos desta vez as mensagens de erro que estão causando o problema não serão enterradas nas linhas e linhas das mensagens de status da transferência de arquivos.

    
por 13.10.2015 / 13:43
1

Re: erro 23 - O motivo mais comum para ter esse erro é fazer um pequeno erro de digitação entrando na fonte de rsync. Examine o seu comando de código-fonte e certifique-se de que tudo esteja de acordo com ls e procure por coisas sutis estúpidas, como um espaço extra ou um problema de l-1.

    
por 11.01.2017 / 05:39

Tags