私は "Rsync"コマンドを使用してファイルシステムからnfs(約1Tera)に大量のデータを転送します。
しばらくすると、コンピュータがシャットダウンして転送がキャンセルされました。 (600G伝送には約10時間かかります)
アップロードされた一部のファイルシステムは、ユーザーによって変更/追加されました。部分的な転送を削除せずにRsyncを再利用すると、Transferresファイルを無視して変更を再アップロードすることがわかりますか?
PS Rsyncを再開するオプションがある場合、送信されたファイルは最初のアップロードよりも速くなりますか? 600G転送に10時間かかり心配ですが、次のRsyncははるかに高速になってほしいです。
編集:明らかに答えについて言及することはできません...だから@Kusalanandaを使用しましたrsync -rtzvx
。
答え1
これらのオプションを使用しないため、-a
ユーザーとグループの所有権と権限は保持されません。しかし、タイムスタンプは-t
。
今すぐrsyncを再起動すると、上記のメタデータを使用してターゲットのファイルがソースのファイルと同じであることを確認できません。運が良ければ、--size-only
rsyncにファイルサイズが同じであれば同じであると仮定するように指示することができます。これは通常、ログファイルや写真などのファイルでのみ機能します。
しかし、状況は思ったほど悪くないかもしれません。 rsyncはソースとターゲットの各ファイルをチェックサムし、チェックサムに違いがある場合にのみ別のチャンクを送信します。つまり、ファイル全体が再送信されず、変更されたブロックのみが転送されます。これがrsyncの利点です。つまり、より多くのディスクIOを犠牲にしてネットワーク帯域幅使用率を最適化します。
もちろん、これはrsyncがネットワークを介して他のホストに送信されていると仮定します。話すNFSファイルシステムがローカルにマウントされている場合、rsyncはファイルをスキャンするときに実際に多くのネットワーク帯域幅を使用するため、rsyncはこの目的に使用するツールではない可能性があります。また、rsyncはローカル転送を実行するとモードに切り替えます--whole-file
。まず、ソースファイルとターゲットファイル全体を確認し、ソースファイルをターゲットファイルにコピーすることは意味がありません。
通常、可能であれば使用することをお勧めします-a
。--numeric-ids
ソースとターゲットのユーザーが異なる場合は、マージする必要があります。ユーザーが同じですが、IDが異なる場合は使用しないでください--numeric-ids
。 rsync は名前に基づいて ID をマッピングします。