リモートコンピュータには次のディレクトリ構造があります。
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/file1
LibA.1からLibA.2を作成して入力するスクリプトを作成してからリモートで実行します。これは簡単かもしれませんcp -rp
。実際のrsyncを実行すると、同様のファイルがすでに存在し、変更されたファイルが更新されます。--delete
存在してはいけないファイルを削除する必要があります(このオプションに注意してください:-n
最初にテストしてください)。
リモートでコマンドをコピーするときは注意してください。ファイルをコピーすると、通常は新しいファイルに新しいタイムスタンプが設定されます。 rsyncはデフォルトでサイズとタイムスタンプを比較します。異なる場合は、ファイルが更新されます。 rsyncオプションを使用して-c
各ファイルのチェックサムを確認して、ファイルが異なることを確認してください。