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