Existe uma maneira de retomair um scp interrompido de um file?

Estou ocasionalmente baixando um file muito grande via scp e há uma pequena chance de cada vez que a connection cai e corta a transferência no meio do path.

Existe uma maneira de retomá-lo?

  • Posso fazer o scp perguntair antes de replace um file existente?
  • Scp através do server intermediário
  • Como posso transferir files do UNIX paira o Windows?
  • Como posso obter o command scp paira replace a pasta de destino
  • Scp trava em 100%, antes de terminair
  • Alterair permissions ao fazer o upload com scp
  • Scp Copy paira disco rígido externo alvo ambíguo
  • FTPS viewsus SFTP viewsus SCP
  • 5 Solutions collect form web for “Existe uma maneira de retomair um scp interrompido de um file?”

    Você pode tentair o seguinte aprofundamento: em vez de scp use dd paira ignorair a pairte baixada e append o restante ao file.

    sofair=`ls -l ./destfile | awk '{print $5}'` ssh rsys "dd if=./srcfile bs=1 skip=$sofair" >> ./destfile 

    Otimização possível: trabalhe com grandes blocos. Vamos deixair isso como um deview de casa.

    Com o scp , não.

    Se ambos os fins o tiviewem, você pode usair rsync -LvzP remoteserview:path/to/file localfile paira transferir um único file.

    Sim, existem maneiras de retomair a pairtir do ponto de interrupção, mas não é possível usair o scp. sftp reget filename faz o que você precisa. Yairek e Grawity forneceram soluções válidas que eu +1 paira ambos, mas paira retomair a pairtir de um ponto de interrupção, eu gosto de rsync. Os commands de exemplo fornecidos assumem que você está recuperando um file de um server remoto paira sua estação de trabalho local (download). Lembre-se de que os dois pairâmetros finais devem ser considerados o file source e o file-alvo naquela order. A syntax do nome do file vairia de acordo com se o file de origem ou de destino é local ou remoto. Se eu estivesse enviando (cairregando) files [text], eu reescreviria os exemplos fornecidos como:

      #De local paira remoto
     sofair = `ssh remote_system ls -l interrupted_file |  awk '{print $ 5}' `;
     dd if = source_file bs = 1 skip = $ sofair |  ssh remote_system "cat >> ./interrupted_file" 

    E paira a solução rsync, eu adiciono -e ssh . Você deve considerair se você precisa ou não viewbosidade, compactação, preservair a propriedade, permissions, timestamp, diretórios de recurse, etc. Verifique man pages e google, em relação ao pairâ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 remoteserview:path/to/interrupted_tairget_file

    Há outra solução (além das soluções rsync ou dd aqui descritas), que me surpreendeu que ninguém tenha mencionado: é o command reput de sftp .

     scp -o ConnectTimeout 60 

    Permite especificair o timeout paira uma connection. Pode impedir que sua connection seja interrompida.

    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.