rsync para a unidade flash USB sempre transferindo todos os dados

1

Quando rsync ing um diretório para uma unidade flash USB externa recém-conectada, via

rsync -av /source/ /dest/

todos os arquivos são transferidos (isto é, reescritos), apesar de não haver alterações nos arquivos.

Observe que a sobregravação dos arquivos ocorre apenas quando o USB é descompactado e substituído. Fazer o comando rsync duas vezes seguidas sem desconectar a unidade intermediária pula com sucesso todo o conteúdo do diretório.

Incluir a opção -u update e adicionar explicitamente a opção -t não alterou nada.

O ponto de montagem permanece o mesmo (ou seja, /media/user/<UUID> , o inversor é movido automaticamente por xfce , o /dev/sdxy obviamente muda) A origem do disco rígido é ext4 , enquanto o USB é vfat com codificação de caracteres utf8 .

Qual poderia ser o motivo desse comportamento? A alteração na entrada do nome /dev/ ? Como posso executar rsync com o reconhecimento apropriado de alterações de arquivo? Meu backup deve levar apenas alguns segundos sem isso, enquanto agora é sempre minutos, devido à grande quantidade de dados sendo sobrescritos repetidamente, nem a gravação massiva é a melhor para a expectativa de tempo de vida da unidade flash.

    
por Fiximan 03.03.2016 / 00:00

3 respostas

6

Sua unidade FAT pode armazenar registros de data e hora apenas com precisão de dois segundos. Quando você desconectar e reconectar a unidade, você efetivamente quebra todos os tempos de arquivo. Veja a opção --modify-window para uma solução alternativa.

Em segundo lugar, você nunca verá backups rápidos com rsync como este, porque ao copiar localmente, ele se comporta como cp .

    
por 03.03.2016 / 00:19
1

Por padrão, o rsync identifica os arquivos alterados através do tempo de modificação e do tamanho do arquivo. Uma rápida pesquisa no Google por "vfat timestamp" revela vários problemas relacionados à opção tz=UTC mount.

Poderia ser que os registros de data e hora na unidade externa diferem da unidade interna e o rsync sempre considera os arquivos como diferentes? Se for esse o caso, você provavelmente deve verificar suas opções de montagem.

Como alternativa (e, na verdade, independentemente de minha teoria estar correta), você poderia tentar executar o rsync com a opção -c , o que faz com que ele verifique se há alterações nos hashes do conteúdo do arquivo. Isso potencialmente atrasa as coisas, mas não tenho certeza sobre o impacto prático.

    
por 03.03.2016 / 00:18
0

Meu ambiente
Framboesa Pi3 B +, Raspbian Strech (Linux)

Eu adicionei a próxima linha 1 abaixo em / etc / fstab em dev/sda1 /media/pi/TOSHIBA vfat defaults 0 0

Em seguida, sudo umount /media/pi/TOSHIBA

Para encontrar o nome do dispositivo, você pode usar o próximo comando lsusb

Depois, inseri novamente a MEMÓRIA USB.
Em seguida, o proprietário da USB MEMORY foi alterado como a próxima linha abaixo.% drwxr-xr-x 3 root root 8192 11月 9 23:22 TOSHIBA

Então, consegui fazer backup com permissão, proprietário e timestamps usando a próxima linha abaixo.
rsync -alvptgo /home/pi /media/pi/TOSHIBA/pi
que eu realmente usei como comando de backup DIFF.

Mas dê atenção para que você deve inserir uma memória USB no slot quando você reiniciar | OR
Exclua essa linha em / etc / fstab antes de reinicializar.

    
por 09.11.2018 / 22:08