web-dev-qa-db-ja.com

Rsync統計ファイル数

-vrlHh --delete --stats --forceオプションを指定したrsyncを使用して、2つのディレクトリをミラーリングしています。最初のディレクトリはソースであり、それは私の外部hdです。作成したばかりなので、宛先ディレクトリは空です。

rsync -vrlHh --delete --stats --force my_hd dest_dirを実行すると、この出力が得られます。

...

2012/05/12 11:59:29 [18094] Number of files: 189315
2012/05/12 11:59:29 [18094] Number of files transferred: 178767
2012/05/12 11:59:29 [18094] Total file size: 241.57G bytes
2012/05/12 11:59:29 [18094] Total transferred file size: 241.57G bytes
2012/05/12 11:59:29 [18094] Literal data: 241.57G bytes
2012/05/12 11:59:29 [18094] Matched data: 0 bytes
2012/05/12 11:59:29 [18094] File list size: 4.08M
2012/05/12 11:59:29 [18094] File list generation time: 0.002 seconds
2012/05/12 11:59:29 [18094] File list transfer time: 0.000 seconds
2012/05/12 11:59:29 [18094] Total bytes sent: 241.61G
2012/05/12 11:59:29 [18094] Total bytes received: 3.44M
2012/05/12 11:59:29 [18094] sent 241.61G bytes  received 3.44M bytes  30.67M bytes/sec
2012/05/12 11:59:29 [18094] total size is 241.57G  speedup is 1.00

私の質問は、宛先ディレクトリが空の場合、Number of filesNumber of file transferredが異なるのはなぜですか?

8
mt22

あなたが経験していると思います http://lists.samba.org/archive/rsync/2008-April/020692.html

つまり、rsyncは、コンテキストに応じてさまざまな方法で「ファイル」という単語を使用します。最初の「ファイル数」カウントでは、すべてがカウントされます。 2番目の「転送されたファイルの数」では、シンボリックリンクとディレクトリがファイルとしてカウントされません。

例:

$ mkdir test
$ touch test/testfile
$ ln -s testfile test/testlink
$ ls -FR test
test:
testfile  testlink@
$ rsync -vrlHh --stats test test2
sending incremental file list
created directory test2
test/
test/testfile
test/testlink -> testfile

Number of files: 3
Number of files transferred: 1
Total file size: 8 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 67
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 126
Total bytes received: 38

sent 126 bytes  received 38 bytes  328.00 bytes/sec
total size is 8  speedup is 0.05
$ ls -FR test2
test2:
test/

test2/test:
testfile  testlink@
12

[email protected]の作者「MikeBombich」から:

統計の場合、rsyncはWordの「ファイル」を一貫して使用しません。 「ファイル数」の総数を報告する場合、通常のファイル、ディレクトリ、シンボリックリンク、スペシャル、およびデバイスで構成されるファイルシステムオブジェクトの総数を示します。転送された「ファイル」の数を報告する場合、通常のファイルのみを参照します。

したがって、そこに非正規ファイル(ディレクトリを含む)がある場合、それらはカウントに含まれません。

4
Chris2048