Rsync estatísticas número de arquivos

8

Estou usando o rsync com -vrlHh --delete --stats --force opções para espelhar dois diretórios. O primeiro diretório é a fonte e é meu hd externo, o diretório de destino está vazio porque acabei de criá-lo.

Eu corro rsync -vrlHh --delete --stats --force my_hd dest_dir e recebo essa saída.

...

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

Minha pergunta é por que Number of files e Number of file transferred são diferentes se o diretório de destino estiver vazio?

    
por mt22 12.05.2012 / 13:42

2 respostas

10

Acredito que você está experimentando o link .

Em suma, rsync usa a palavra "arquivo" de maneiras diferentes, dependendo do contexto. Na sua primeira contagem de "Número de arquivos", conta tudo. Em seu segundo "Número de arquivos transferidos", ele não conta links e diretórios simbólicos como arquivos.

Exemplo:

$ 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@
    
por 12.05.2012 / 15:05
4

Do autor 'Mike Bombich' em [email protected]:

For stats, rsync uses the word "file" inconsistently. When reporting the total "Number of files", it indicates a total number of filesystem objects which consists of regular files, directories, symlinks, specials, and devices. When reporting number of "files" transferred, it refers only to regular files.

Portanto, se houver arquivos não regulares lá (diretórios inc.), eles não serão incluídos na contagem.

    
por 12.05.2012 / 15:12