rsync para mover arquivos grandes pela rede

0

Este é Mac para Mac (ambos em 10.12, Sierra) e eu quero sincronizar muitos arquivos de áudio e vídeo do meu Mac local para o servidor (o outro Mac). Os arquivos de vídeo podem ter 1 ou mais GB cada, mas embora os arquivos de áudio sejam menores, ainda é possível assistir ao progresso conforme eles demoram, mesmo em uma rede gigabit.

Minha pergunta diz respeito à operação inteira / parcial / deltas do rsync. Tanto quanto eu posso dizer, mesmo usando ssh como o transporte, ele só deve copiar as alterações para arquivos, mas com apenas pequenas alterações nos arquivos (como uma tag ID3 em um arquivo de áudio MP3) todo o arquivo é reenviado. Primeiro, ele informa que está excluindo uma carga de arquivos e, em seguida, envia esses mesmos arquivos novamente, o arquivo inteiro que apareceria. Posso observar o percentual de progresso e parece demorar o tempo que copiar um arquivo desse tamanho normalmente ocuparia a rede. Não parece haver nada ganho usando um algoritmo inteligente para transferir apenas deltas.

Em que circunstâncias o rsync excluiria um arquivo primeiro e depois enviaria o arquivo inteiro novamente pela rede?

editado

- inplace eu acredito que é mais lento e certamente menos dados seguros em caso de interrupção. Também é improvável que -z ajude no caso de conteúdo de áudio e / ou vídeo. Além das exclusões etc, estou usando apenas uma opção, com nv e --progress se estou apenas testando. O problema é que, nesse caso, um arquivo de 1 GB com uma pequena alteração em uma tag de metadados interna não demorará muito para ser sincronizado, pois apenas uma quantidade muito pequena de dados precisa ser enviada, mas estou observando o progresso do%. desde que simplesmente copie o arquivo inteiro. Eu só posso supor que está enviando o arquivo inteiro novamente, especialmente quando ele relata que está apagando esse arquivo logo no início. Se realmente apagar primeiro assim, não há como, então, enviar apenas deltas. É realmente apagar esses arquivos primeiro ou apenas diz isso e na verdade significa apenas que o arquivo precisa ser atualizado?

    
por UKenGB 07.02.2017 / 20:13

1 resposta

0

Sem ver sua linha de comando do rsync, é difícil ter certeza do que está acontecendo, mas confira man rsync e examine as opções --verbose, --inplace, --partial e --progress.

Geralmente, eu uso um comando como rsync -e ssh -avzP --inplace <src> <dst> para transferir arquivos no local via ssh com o modo de arquivo (a), mensagens detalhadas (v), compactação (z) e suporte parcial + progresso (P).

-Rich Alloway (RogueWave)

    
por 08.02.2017 / 20:17