Existe uma maneira de continuar o processo de comando scp (cópia segura) quebrado no Linux? [fechadas]

240

Estou copiando um arquivo de 7,5 GB para um servidor remoto usando o comando scp . Em algum momento, a transferência de arquivos é interrompida e eu tenho que começar tudo de novo.

A quantidade temporária de arquivo sendo transferida está completamente perdida? De alguma forma, posso reiniciar a transferência de onde parou na tentativa anterior? Caso contrário, existe algum comando padrão de transferência de arquivos de linha de comando Unix para fazer isso?

Matko
fonte
1
Mais respostas encontradas nesta pergunta , incl. soluções sem rsync.
tanius

Respostas:

399

Se você precisar retomar uma transferência scp do local para o remoto , tente com o rsync:

rsync --partial --progress --rsh=ssh local_file user@host:remote_file

Versão curta, como apontado por @ aurelijus-rozenas :

rsync -P -e ssh local_file user@host:remote_file

Em geral, a ordem dos argumentos para o rsync é

rsync [options] SRC DEST
Tom McClure
fonte
34
Para porta diferente do padrão 22 utilizaçãorsync -P -e "ssh -p 222" SRC DEST
asofyan
4
E se o rsync -efor interrompido, encontrei renomeando. <Nome do arquivo>. <6funnychars> para <nome do arquivo> no destino antes de continuar o rsync -enecessário.
gaoithe
5
O rsync só funciona se você o tiver disponível do outro lado.
dothebart
1
O rsync realmente retoma uma transferência de arquivo iniciada no scp? Na verdade, são necessários dois comandos rsync, um comando rsync, não scp, para iniciar a cópia e, em seguida, ser desconectado; em seguida, um segundo comando rsync para retomar a cópia?
Geoffrey Anderson
4
Não importa como você obteve o download parcial inicialmente. Você pode começar com scp e depois terminar com rsync.
Tom McClure
17

Isso é tudo que você precisa.

 rsync -e ssh file host:/directory/.
DigitalRoss
fonte