A solução tornou-se esta:
find . -maxdepth 4 -depth -type d | shuf | torsocks parallel rsync --delete -zHax --inplace --rsync-path='mkdir -p {} && rsync' ~/{}/ qnek3r4buxhaa6g3.onion:./{}/
Não é exatamente bonito, mas parece fazer o trabalho.
Eu uso rsync
over tor
. Funciona por um tempo, depois cai a conexão. Isso por si só não é um grande problema e suponho que não seja totalmente inesperado ao executar sessões longas em tor
, o que leva muitos minutos para ser concluído.
Quando eu reinicio o rsync
, ele passa pelos arquivos na mesma ordem da última vez. Isso é um problema porque alguns desses arquivos mudam com frequência (pense em / var / spool de um servidor de e-mail ocupado e você entende a ideia). Isso significa que os arquivos que obtém primeiro são atualizados frequentemente, enquanto os arquivos nunca são transferidos.
O que eu prefiro é que rsync
continue de onde parou ou pelo menos transfira os arquivos em ordem aleatória.
Existe uma maneira geral de fazer isso?
A solução tornou-se esta:
find . -maxdepth 4 -depth -type d | shuf | torsocks parallel rsync --delete -zHax --inplace --rsync-path='mkdir -p {} && rsync' ~/{}/ qnek3r4buxhaa6g3.onion:./{}/
Não é exatamente bonito, mas parece fazer o trabalho.
Use a opção --partial
. Isso faz com que o rsync continue de onde parou.
Existem algumas opções disponíveis. Você pode usar regras de filtragem em algumas das execuções de rsync para que os arquivos mais ocupados sejam ignorados, permitindo que arquivos menos ocupados sejam transferidos. Se a lista de arquivos ocupados for muito longa para ser facilmente montada em um conjunto de regras de filtragem, você poderá usar --modify-window com um grande valor em algumas das execuções de rsync. Isso também terá o efeito de ignorar arquivos modificados recentemente e transferir arquivos que foram modificados fora da janela de modificação.
Tags rsync