Rsync在传输之前计算文件计数?

时间:2018-09-13 02:13:02

标签: bash rsync

使用rsync在许多文件夹中传输许多小文件时,它倾向于停留在ir-chk=1000/xxxxx处,其中xxxxx在发现新文件时一直在计数,直到最后一次检查的数量保持在1000左右几个文件夹。

如何在复制之前检查整个文件计数?

我用来复制的命令是:

rsync -av --progress source dest

1 个答案:

答案 0 :(得分:2)

rsync -av --progress --dry-run --stats source dest
  • 选项--dry-run不传输任何文件,但会显示要传输多少字节。
  • 选项--stats显示摘要。

示例输出:

...
tests/
tests/__init__.py
tests/test_config.py

Number of files: 5,033 (reg: 2,798, dir: 2,086, link: 149)
Number of created files: 5,032 (reg: 2,798, dir: 2,085, link: 149)
Number of deleted files: 0
Number of regular files transferred: 2,798
Total file size: 26,035,530 bytes
Total transferred file size: 26,032,322 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.004 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 158,821
Total bytes received: 17,284

sent 158,821 bytes  received 17,284 bytes  117,403.33 bytes/sec
total size is 26,035,530  speedup is 147.84 (DRY RUN)

获取将要传输的文件数

rsync -av --progress --dry-run --stats source dest | 
  fgrep 'Number of files' | 
  cut -d' ' -f4 | 
  tr -d ,