Retomar a transferência scp recursiva (com rsync?)

14

Eu estava transferindo vários milhares de arquivos a cada ~ 1MB via scp e minha conexão foi quebrada após os primeiros 2k arquivos ou mais. Eu queria saber se havia uma maneira de retomar a transferência recursiva sem começar de novo. Algo como

$ scp -r [email protected]:/datafiles/ ./
... Happy Transfer ...
...     BREAK!     ...
$ rsync -P [email protected]:/datafiles/ ./
... Continue transf...

O problema é que não consigo obter a sintaxe correta se for possível. Alguém pode esclarecer se / como isso pode ser feito?

PS. Se você especificar a barra depois de "arquivos de dados" na linha rsync, isso transfere o diretório ou seu conteúdo? Eu vi comentários conflitantes quando eu pesquisei.

    
por physicsmichael 01.06.2010 / 17:52

4 respostas

10

se você estiver rsyncing de uma máquina local para um host remoto, isso funcionará:

rsync -avzl -e ssh /directory/with/files/ [email protected]:/new/directory/
    
por 01.06.2010 / 18:01
11

A seguinte linha deve fazer o truque para isso:

rsync --partial --progress --rsh = ssh -r [email protected]: / datafiles / ./

Eu nunca usei isso para diretórios recursivos antes, mas quando eu mandei uma mensagem agora parecia funcionar como esperado.

    
por 01.06.2010 / 18:01
1

O comando rsync que você listou funcionaria, se você apenas adicionou "-r". mas você provavelmente também quer "-a" e "-v".

E sobre a barra final, [email protected]: / data / é equivalente a / data / *, em outras palavras, se você adicionar uma barra, copia todo o conteúdo. mas [email protected]: / data seria o próprio diretório [e naturalmente, suas subpastas]

    
por 03.04.2011 / 00:19
1

Mesclar as respostas de Kibitzer e Tyler funcionou melhor para mim:

rsync --partial --progress -avzl -e ssh /directory/with/files/ [email protected]:/new/directory/

(rsyncing recursivamente e mostrando o progresso de cada arquivo)

    
por 05.06.2013 / 03:30