Rsync рассчитать количество файлов перед передачей? - PullRequest
0 голосов
/ 13 сентября 2018

При передаче большого количества маленьких файлов во многие папки с помощью rsync, он имеет тенденцию оставаться около ir-chk=1000/xxxxx, где ххххх продолжает подсчитывать при обнаружении новых файлов, а проверяемое количество остается около 1000, пока не останется в последних нескольких папках. .

Как я могу проверить количество файлов перед копированием?

Команда, которую я использовал для копирования, была:

rsync -av --progress source dest

1 Ответ

0 голосов
/ 13 сентября 2018
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 ,
...