2

限られた低速のネットワークを使用して遠く離れた 2 つのサイト間で多数の小さなファイルを同期する方法と、サイト B にサイト A の古いコピーがある場合。git を使用してこの作業を高速化できますか?

通常、winrar を使用してサイト A のデータをパッケージに追加し、robocopy をサイト B に追加するのが好きですが、この方法ではサイト B の古いコピーが無駄になります。

robocopyを直接使用すると、小さなファイルがたくさんあるため、速度が非常に遅くなります....

これで、git が圧縮でファイルの差分を転送できることがわかりました。サイト B に空の git リポジトリを作成し、サイト A に送信する必要があります。次に、2 つのサイト データをそれぞれの git リポジトリに個別に追加しますか? しかし、2 つの git リポジトリは、サイト B にプッシュ バックするときに diff ファイルを転送することしかできないと思います。最初に、サイト A の git リポジトリの全体のコピーを転送する必要がありますね。毎日のバックアップ作業ではなく、一度だけです。

差分ファイルのみを最も高速で圧縮して転送する方法.....他のソフトウェアと提案は大歓迎です.2つのサイトデータのMD5を計算し、比較して差分ファイルを見つけてから、パッケージ化して圧縮して転送する....ありがとう....


ありがとう。私のデータは win2003 の両方のサイトにあるので、tar rsync と gzip コマンド用に cygwin をインストールする必要がありますか? cygwin1.7 を試してみましたが、gzip は 1.4 で、--rsyncable オプションがありません.....ただ tar | rsync は比較して圧縮しますか? Windows cwrsync の記事を読みましたが、rsync サーバーとクライアントにインストールする必要があるようです.....

4

2 に答える 2

2

rsync圧縮されたデルタを転送してファイルを同期するのにより適しています。

于 2011-09-23T08:13:43.967 に答える
1

Tar、gzip (--rscynable を使用)、rsync はあなたの友達です:

tar cf - /siteA | gzip -c --rsyncable > A.tar.gz
rsync -a A.tar.gz siteB:/somewhere
于 2011-09-23T09:06:30.877 に答える