1. ホーム
  2. bash

[解決済み] 部分的にコピーされたファイルでscpを再開する方法は?[クローズド]です。

2022-02-02 14:35:33

質問

私は、巨大なファイルのフォルダをコピーするためにscpシェルコマンドを使用しています。

しかし、ある時点で、私は実行中のコマンドを(Ctrl+Cまたはkillで)終了させなければなりませんでした。

私の理解では、scpはファイルを順次コピーするので、部分的にコピーされたファイルは1つしかないはずです。

同じ scp コマンドを再開して、正常にコピーされたファイルを上書きせず、部分的にコピーされたファイルを適切に処理するにはどうすればよいですか?

追伸:このようなことはrsyncでできることは知っていますが、なぜかscpの方が速いので、それを代わりに使っています。

解決方法は?

を使用する必要があります。 rsync オーバー ssh

rsync -P -e ssh remoteuser@remotehost:/remote/path /local/path

キーオプションは -P と同じです。 --partial --progress

デフォルトでは、転送が中断された場合、rsync は部分的に転送されたファイルをすべて削除します。状況によっては、部分的に転送されたファイルを残しておくことがより望ましい場合があります。partial オプションを使用すると、rsync は部分的なファイルを保持するようになり、その後の残りのファイルの転送が非常に速くなります。

その他のオプション、例えば -a (アーカイブモード用)、および -z (圧縮を有効にする)も使用可能です。

マニュアルを https://download.samba.org/pub/rsync/rsync.html