rsync
ファイルを同期してrsync
mtime情報のみを比較できますか?
それともタスクを実行できる他のツールはありますか?
つまり、これらのツールは、srcがターゲットよりも最新の場合にのみsrcをターゲットにコピーします。 GNUと同じcp --update
ですが、SSHを介しても...
答え1
はい、可能です。rsync
はい--update
、しかしrsync
srcが最新の場合は増分転送アルゴリズムを使い続けます。このアルゴリズムを無効にするオプションをrsync
提供します。--whole-file
したがって、
$ rsync --update --whole-file ...
srcファイルが最新バージョンの場合にのみターゲットにコピーされる効果があるはずです。そして、この目的のためにはmtimeチェックのみを使用してください。
特別なユースケースで増分転送アルゴリズムを使用しない理由はいくつかあります。主に性能上の理由ですが、非常に特別な場合には伝送量上の理由もあります。
マニュアルページを引用すると、次のようになります。
-W、--フルファイル
このオプションを使用すると、rsync の増分転送アルゴリズムは使用されず、ファイル全体がそのまま転送されます。ソースコンピュータとターゲットコンピュータ間の帯域幅がディスク帯域幅より高い場合(特に「ディスク」が実際にネットワークファイルシステムの場合)、このオプションを使用すると転送速度が速くなる可能性があります。これは、ソースと宛先の両方がローカルパスとして指定されている場合はデフォルトですが、一括書き込みオプションが適用されていない場合にのみ当てはまります。
ネットワークファイルシステムに関連する状況が最も一般的です。
さらに、デルタ転送アルゴリズムは経験的であるため、アルゴリズムは最終的にファイル全体を転送し、ファイルにオーバーヘッド(時間とスペース)のみを追加することを想像できます。