GNU/Linux >> Linux の 問題 >  >> Linux

ファイルの中断された scp を再開する方法はありますか?

scp で 、いいえ。

両端にある場合は、 rsync -LvzP remoteserver:path/to/file localfile を使用できます 単一のファイルを転送します。


次のアプローチを試すことができます:scp の代わりに dd を使用 ダウンロードした部分をスキップして、残りをファイルに追加します。

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

考えられる最適化:大きなブロックで作業します。これは宿題にしましょう。


はい、中断した時点から再開する方法はありますが、scp を使用することはできません。 sftp reget filename あなたが必要とすることをします。 Yarek と Grawity は、私が両方に +1 する有効なソリューションを提供してくれましたが、中断した時点から再開するには、rsync が好きです。どちらのコマンド例も、リモート サーバーからローカル ワークステーションにファイルを取得する (ダウンロードする) ことを前提としています。最後の 2 つのパラメーターは、source_file と target_file の順に考慮する必要があることに注意してください。ファイル名の構文は、ソース ファイルまたはターゲット ファイルがローカルかリモートかによって異なります。 [テキスト] ファイルを送信 (アップロード) する場合、提供されている例を次のように書き直します:

#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"

rsync ソリューションに -e ssh を追加します .冗長性、圧縮、所有権の保持、パーミッション、タイムスタンプ、ディレクトリの再帰などが必要かどうかを検討する必要があります。-L パラメータについては、man ページと google を確認してください。シンボリック リンクを参照するのではなく、リンクのままにしたい場合があります。

rsync -P -e ssh local_source_file remoteserver:path/to/interrupted_target_file


Linux
  1. 不良ブロックを再起動する方法はありますか?

  2. プロセスを聞く方法はありますか?

  3. scp がリモート コピーを行うように、リモート ls を行う方法はありますか?

  1. Rsyncよりもスマートなファイル転送??

  2. ログをクリアする適切な方法はありますか?

  3. 大規模な TAR の最後のファイルを取得する簡単な方法はありますか?

  1. ファットファイルシステムを最適化する賢い方法は?

  2. 列ごとに「ユニーク」にする方法はありますか?

  3. .bz2 ファイルの解凍後のサイズを確認する方法はありますか?