いくつかのファイルを含む2つのリモートフォルダがあります。私はrsync
を使用して2を同期しています。最初のサーバーでは、ファイルには毎日新しいデータが厳密に追加されています。
rsync
を呼び出すと、ファイル全体が再度コピーされるように見えます。
以下の私の電話は正しいですか?
rsync -rtvu src_fld/ user@myserver:/opt/dst_fldr/
私の理解では、rsync
は2つのファイルの差を計算できるので、非常に迅速な更新を期待していました。
rsyncは多くのことを行っています-あなたの場合、それはおそらく両側でファイルリストを構築し、それらを比較し、転送するファイルを見つけ、両側でファイルを読み取ります 両側でローリングチェックサムを計算します 、チェックサム情報を交換し、異なるブロックを送信します。特に大きなファイル(ギガバイトスケール)または多数のファイル(数十万の大きさ)がある場合、このプロセスには時間がかかります。送信者と受信者の計算とI/Oのオーバーヘッドが大きいため、必ずしも送信速度が上がるとは限りません。リンクを介して転送されるデータの量。
あなたの場合、ファイルの変更が追加のみである場合(ログの増加の場合のように)、rsync
に--append-verify
オプションを使用することを検討してください。これにより、計算量の多いローリングチェックサム計算全体がスキップされ、転送されるだけです。小さいファイルを埋めるために大きいファイルの末尾。また、転送後に、単一ファイルのチェックサム操作を実行して、送信者と受信者のファイルが同一であるかどうかを確認します。