複数のフォルダを部分的に変更されたファイルと同期

複数のフォルダを部分的に変更されたファイルと同期

リモートコンピュータには次のディレクトリ構造があります。

 ALLLibs/LibA/LibA.1
 ALLLibs/LibA/LibA.2
 ALLLibs/LibB/LibB.1
 ALLLibs/LibB/LibB.4

LibA.1とLibA.2はディレクトリバージョンです。これら2つのフォルダーの内容はほぼ同じにすることができ、これらのフォルダーがさらに存在する可能性があります。

同期したいすべての図書館ネットワークが遅すぎる他のコンピュータに。利用可能な唯一のオプションはWeb経由です。

私はファイルの同期に最適であることを知っていますが、rsyncファイルを1-1にマッピングして同期すると思います。

私が持っている1つのユースケースは、 ALLLibs/LibA/LibA.1他のコンピュータですでに同期されていて、リモートで作成されてALLLibs/LibA/LibA.2いる場合は、以前のリポジトリのパッチを介して同期したいと思います。

答え1

-zネットワークを介した圧縮にはrsyncを使用する必要があります。考慮すべき他のオプションは、-H(ハードリンク)と-S(スパースファイル)です.

rsyncを実行する前に-nv更新されないが、更新されるファイルを表示するバージョンを実行してください。

ファイルリストの知識を活用して、欠落しているファイルがすでに存在する可能性があるリモートデバイスの場所を一致させ、リモートデバイスにログインして最初にファイルをコピーします。

たとえば、-nv次の必須アップデートが表示されることがあります。

ALLLibs/LibA/LibA.2
ALLLibs/LibA/LibA.2/file1

しかし、それが何であるかを知っている場合は、../LibA.1/file1LibA.1からLibA.2を作成して入力するスクリプトを作成してからリモートで実行します。これは簡単かもしれませんcp -rp。実際のrsyncを実行すると、同様のファイルがすでに存在し、変更されたファイルが更新されます。--delete存在してはいけないファイルを削除する必要があります(このオプションに注意してください:-n最初にテストしてください)。

リモートでコマンドをコピーするときは注意してください。ファイルをコピーすると、通常は新しいファイルに新しいタイムスタンプが設定されます。 rsyncはデフォルトでサイズとタイムスタンプを比較します。異なる場合は、ファイルが更新されます。 rsyncオプションを使用して-c各ファイルのチェックサムを確認して、ファイルが異なることを確認してください。

関連情報