rsyncがファイルを再送信する理由を学ぶ

rsyncがファイルを再送信する理由を学ぶ

Linuxサーバー(reiserfs)のディレクトリを、MacOSX 10.13を実行しているMacBookに接続されている外部HDD(hfs)にバックアップしたいと思います。

Gentoo Linuxで、rsyncバージョン3.1.2がインストールされています。 MacOSXでは、Homebrew経由でrsync 3.1.2をインストールしました。

今私はフラグを使います-aAxzPiv --delete-delay。昔もそうだった-Xけどこのアップストリームrsync 3.1.2のバグ私はそれを削除しました。rootすべてのコンテンツを読むための完全な権限を持ってLinuxサーバーに接続し、sudoMacOSXと同様に実行しました。つまり、次のようになります。

sudo rsync -aAxzPiv --delete-delay root@server:/mnt/data6 .

一部のディレクトリ/ファイルが常に再送信されることを除いて、ほとんどが機能しているようです(場合によっては削除されてから送信されましたが、私はそうしました--delete-delay)。これが私が苦労していることです。

rsync最初の質問:再送信/削除する必要があると思う理由に関する情報を提供するための良いフラグがありますか?はい-v、これ--info--debug私に与えることができます。しかし、これらの正確な兆候は何ですか? (編集:ありがとう、-i今追加しましたが、まだ制限的ですが、少し役に立ちます。)

ターゲットファイルに時間が正しく保存されないため、これが問題になる可能性があると思います。または、ディレクトリにある可能性があります。たとえば、次のようになります。

...
>f..t....... .../Documents/Topologische Spiele und resourcenbeschränkte Baire-Kategorie.pdf
    332,553 100%   15.86MB/s    0:00:00 (xfr#87, ir-chk=1062/50500)
...
>f.st..g.... .../OpenLieroX/Tools/GameCompiler/src/main.cpp
     14,813 100%   14.13MB/s    0:00:00 (xfr#88, ir-chk=1004/198016)
...
>f.st..g.... .../openlierox/tools/GameCompiler/src/main.cpp
      3,891 100%    3.71MB/s    0:00:00 (xfr#95, ir-chk=1003/410613)
...
>f.st....... .../Robot/Main/uMainForm.o
    276,724 100%  330.77kB/s    0:00:00 (xfr#93, ir-chk=1455/198859)
...
*deleting   .../Reise/SF2015/A1602080010(Zeyer).pdf
*deleting   .../Reise/SF2015/
...
.../Reise/SF2015/
.../Reise/SF2015/A1602080010(Zeyer).pdf
        126,218 100%  100.29kB/s    0:00:01 (xfr#566, ir-chk=1001/470897)
...

色々な問題があると思います。たとえば、...resourcenbeschränkte...Unicodeエンコーディングの問題です。これにより、ターゲットファイルシステムが大文字と小文字を区別しないため、openlieroxvsに問題が発生する可能性があります。特別なロジックがある場合、この場合どのように機能するのかOpenLieroXわかりません。rsyncその後、たとえば不明な理由でファイルはuMainForm.o常に再送信されます(ただし、最初は削除されません)。その後、SF2015最初にすべてのファイルを含むディレクトリを削除してから、もう一度転送してください。

削除されるディレクトリに関して。サーバーでは、statそのディレクトリのaは次のものを提供します。

$ stat .../texte1
  File: '.../texte1'
  Size: 8664        Blocks: 17         IO Block: 4096   directory
Device: 811h/2065d  Inode: 181281      Links: 45
Access: (0755/drwxr-xr-x)  Uid: ( 1002/      gz)   Gid: (  100/   users)
Access: 2016-07-21 03:19:33.000000000 +0200
Modify: 2016-02-06 18:58:10.000000000 +0100
Change: 2016-07-21 03:19:33.000000000 +0200
 Birth: -

Macでは、次のようになります。

$ stat .../texte1
16777225 8884695 drwxr-xr-x 236 (1002) _lpoperator 0 8024 "Nov  4 14:06:39 2017" "Nov  4 14:02:07 2017" "Nov  4 14:02:07 2017" "Feb  6 18:58:10 2016" 4096 0 0 .../texte1

時代に遅れたようです。

それでは、次の質問です。どのフラグを使用する必要がありますか?ソース側で名前を変更して、大文字と小文字を区別しない問題を手動で解決することもできます(まれに発生します)。 Unicodeの問題にも同じことがあります。しかし、削除/再送信はよく理解されていません。

rsyncまた、MacOSXでは別のバージョンを使用する必要がありますか?もともとMacOSXrsyncのバージョンは2.6.9で、いくつかの異なるフラグがありました。もっと問題があることがわかりましたが、完全には確信できません。

(関連はこの問題しかし、それは実際に私の質問に答えません。返品これ.)

関連情報