rsync -rvhe ssh --partial-dir=path/to/partial/dir dir_to_copy remote_server:path/to/target/directory
ローカルディレクトリをリモートサーバーにコピーしようとしています。私も--partial-dir
引数を使わずにこれを試しました。 rsyncのローカルコピーはバージョン3.1.3(WSLに含まれています)、リモートバージョンは3.1.1(リモートUbuntuインストールに含まれています)です。ほとんどのファイルでこのプロセスが正常に完了し、圧縮(-z
)を使用して大容量ファイルを除外し、大容量ファイルもコピーしてこのプロセスを完了しようとしています。
ただし、rsyncは特定のファイルでのみ中断されます。これは、1) 送信し、2) 転送が完了したことを確認するときに発生します。これについて詳しく説明すると、1)の場合は部分転送が表示されることがあります/path/to/partial/dir
(予想どおりコマンドを省略するとターゲットディレクトリに部分ファイルも表示されます--partial-dir
)、時にはジョブが停止する前に部分ファイルで転送が完了することがあります。内容の。 2) が発生すると、リモートサーバにファイルが既に存在していても転送が停止します。
さらに、rsyncは私のローカルコンピュータとリモートサーバーの両方で実行され続け、何も停止します。したがって、問題の診断にエラーは発生しません。 kill local taskを使用すると、が^C
返されますが、rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(644) [sender=3.1.3]
すぐに端末プロンプトに戻ることはありません。SIGINT
印刷して受信したと言う前に、しばらく停止して[sender] io timeout after 60 seconds -- exiting
ターミナルプロンプトに戻ります。
これは、ここで説明したものと同様に聞こえます。rsyncはエラーなしでディレクトリで停止し続けます。しかし、その解決策は利用できません。つまりcp
、転送するデータが 10 GB を超えてコピーが中断され、最初から開始しなければならないリスクを取りたくないからです。
根本原因を特定し、この問題を解決する方法を知っている人はいますか?ありがとうございます!
答え1
-t
キャプチャ時間の表示を見逃したので、rsync
チェックサムを使用してコピーを確認する必要があります。これは非常に遅く、明らかな速度低下の原因である可能性が高いです。
この試み、
rsync -rtvh dir_to_copy remote_server:path/to/target/directory
「Small Files Only」コピーと「All Files」コピーを再実行して効果を確認してください。