Eu estava transferindo vários milhares de arquivos cada ~ 1 MB via scp e minha conexão foi interrompida após os primeiros 2k arquivos. Eu queria saber se havia uma maneira de retomar a transferência recursiva sem iniciar novamente. 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 possível. Alguém pode esclarecer se / como isso pode ser feito?
PS. Se você especificar a barra após "arquivos de dados" na linha rsync, isso transfere o diretório ou seu conteúdo? Vi comentários conflitantes quando pesquisei no Google.
ssh -i akey.pem
é necessário e não consigo que a-i
peça trabalhe com esses comandos.--partial --inplace --no-whole-file
.-l
não é necessário. Está implícito por-a
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 enviei uma mensagem agora parecia funcionar como esperado.
fonte
O comando rsync que você listou funcionaria se você apenas adicionasse "-r". mas você também provavelmente desejaria "-a" e "-v".
E sobre a barra final, [email protected]: / data / é equivalente a / data / *, em outras palavras, se você adicionar uma barra, ela copiará todo o conteúdo. mas [email protected]: / data seria o próprio diretório [e, naturalmente, suas subpastas]
fonte
Mesclar as respostas de Kibitzer e Tyler funcionou melhor para mim:
(sincronizando recursivamente e mostrando o progresso de cada arquivo)
fonte