大きなファイルの SCP 転送が途中で失敗しても、途中から再開出来るようにする方法
大きなファイルをネットワーク越しに SCP コマンドでコピーする場合、ネットワーク接続が切れてしまってコピーが失敗したりすると、また最初からファイルを転送し直す必要があります。そのような場合、rsync コマンドと組み合わせることで、途中で失敗したファイル転送を再開することが出来ます。この方法を実行するには、コピー元のサーバーとコピー先のサーバーの両方に rsync コマンドをインストールしておく必要があります。
ファイルのコピー元のサーバーで以下のようなコマンドを実行すると、途中で失敗しても同じコマンドを実行することで、失敗したところからファイル転送を再開することが出来ます。
$ rsync --partial --progress --rsh=ssh $file_source $user@$host:$destination_file
$file_source はコピーしたいファイル名、$user はファイルのコピー先のユーザー名、$host はファイルのコピー先のサーバー、$destination_file はコピー先サーバーでのファイルを指定します。
以下はローカルサーバーからリモートサーバーにファイルをコピーし、失敗しても再度同じコマンドを実行することで、ファイル転送を途中から再開することが出来ます。
$ rsync --partial --progress --rsh=ssh $file_source $user@$host:$destination_file
また次のコマンドはリモートサーバーからローカルサーバーにファイル転送を行う方法です。
$ rsync --partial --progress --rsh=ssh $user@$host:$remote_file $destination_file