Sim, existem maneiras de retomar a partir do ponto de interrupção, mas não é possível usar o scp. sftp reget filename
faz o que você precisa. O Yarek e o Grawity forneceram soluções válidas que eu adicionei a ambos, mas para retomar a partir de um ponto de interrupção, eu gosto do rsync. Os comandos de exemplo fornecidos assumem que você está recuperando um arquivo de um servidor remoto para sua estação de trabalho local (download). Por favor, tenha em mente que os dois últimos parâmetros devem ser considerados source_file e target_file nessa ordem. A sintaxe do nome do arquivo varia dependendo se o arquivo de origem ou de destino é local ou remoto. Se eu estivesse enviando (carregando) arquivos [text], eu iria reescrever os exemplos fornecidos como:
#From local to remote
sofar='ssh remote_system ls -l interrupted_file | awk '{print $5}'';
dd if=source_file bs=1 skip=$sofar | ssh remote_system "cat >> ./interrupted_file"
E para a solução rsync, adiciono -e ssh
. Você deve considerar se precisa ou não de verbosidade, compactação, preservação de propriedade, permissões, registro de data e hora, diretórios de recursão, etc. Verifique as man pages e o google, em relação ao parâmetro -L. Você pode querer que os links simbólicos permaneçam como links em vez de referenciá-los.
rsync -P -e ssh local_source_file remoteserver:path/to/interrupted_target_file