rsync
ハードドライブからマウントされたフラッシュドライブとして実行すると、非常に遅くなります。--whole-file
スイッチを使ってみましょう。
なぜより速いのかを説明できますか?なぜそれを使用することを恐れてはいけませんか?そしてそれを使用すると、どんな長所と短所がありますか?私はそれについて多くの情報を見つけることができませんでした。
rsync コマンド:
rsync -avh --delete --no-o --no-g /home/xralf/audio /media/extdevice/rsync_backups/
rsync
ハードドライブ(ext4ファイルシステム)からフラッシュドライブ(vfatファイルシステム)に切り替えました。
答え1
--whole-file
まず、その機能を説明する()のシステム文書から始めましょう。-W
man rsync
このオプションは、
rsync
転送されたすべてのファイルがそのまま転送されるようにする増分転送アルゴリズムを無効にします。
それから彼は続けてこう言いました。
ソースコンピュータとターゲットコンピュータ間の帯域幅がディスク帯域幅より高い場合(特に「ディスク」が実際にネットワークファイルシステムの場合)、このオプションを使用すると転送速度が速くなる可能性があります。 [… ]
デフォルトでは2つの動作モードがありますrsync
。
ローカルコピー(ソースとターゲットの両方が存在するネットワークファイルシステムを含む)のように見えるローカルファイルシステムの一部です。)この場合は、
rsync
ファイルサイズと変更タイムスタンプに基づいてファイル全体をコピーまたはスキップすることを選択してください。この場合、--whole-file
オプションが有効になり、増分最適化は発生しません。実際にファイルを最初にコピーするよりもソースファイルとターゲットファイルを比較するために読み取るのに時間がかかるため、ほとんどの場合、この機能を有効にすることは意味がありません。リモートコピー(パスの1つ
{host}:{path}
または{host}::{path}
スタイル設定が含まれています)この場合は、rsync
ローカルコンピュータで独自のインスタンスを実行し、リモートコンピュータでインスタンスを実行できます。両方のインスタンスは比較のためにソースファイルとターゲットファイルを独立して読み取ることができるので、変更のみがネットワーク経由で転送される最適化された状況が発生することを願っています。ここでは--whole-file
デフォルトでは有効になっていません。
シナリオ#1では、この--whole-file
オプションはデフォルトで有効になっており、ファイルのコピーはほぼ常に増分転送より高速です。 (ローカルディスクを読み取ることができる場合は例外です。かなりあなたが書くよりも速いです。 )
使用している場合(ローカルからローカルにコピー)ここで最大の問題は、2秒単位のファイルタイムスタンプしかないVFATファイルシステムに書き込んでいることです。これは、多くのファイルがrsync
古いと考えて不必要に再コピーすることを意味します。
ここで修正してください使用されます(詳細は--modify-window=1
マニュアルを参照)。man rsync
私も読んだタイムゾーンが夏と冬の間で変更された場合、関連するタイムゾーンのrsync
合併症を避けるためにUTCでコマンドを実行する必要がありますが、直接テストしませんでした。
TZ=UTC rsync -rtvh --modify-window=1 --delete /home/xralf/audio /media/extdevice/rsync_backups/
シナリオ#2では、この--whole-file
オプションはデフォルトで無効になっており、通常は誤ってファイル全体を送信するよりも高速な増分ファイル転送が発生します。例外は、ソースとターゲットの差を計算できるよりも高速にネットワーク経由でデータを転送できる場合です。たとえば、10Gb/s ネットワークの場合です。
rsync
結論:一般的に組み込まれた最適化をだまそうとすると、状況は良くなく、通常は転送速度が悪くなります。有効または無効にしないで選択--whole-file
するようにしてくださいrsync
。ただし、VFATファイルシステムについてはこれを使用しないでください。ただし、そうできない場合は、実際にいくつかの追加のrsync
支援を提供する必要があります。