19

Я использовал rsync с опцией --progress, поэтому передача файла завершена, и я получил следующий вывод

receiving incremental file list
Makefile
          9,935 100%    9.47MB/s    0:00:00 (xfr#1, to-chk=0/1)

У меня вопрос, что значит to-chk=0/1 ?

Я передаю только 1 файл, это Makefile. номер передачи (xfr # 1) четко указывает на 1 файл, но что означает to-chk = 0/1?

1 ответ1

30

to-chk или to-check дает вам количество файлов, которые еще нужно проверить, например, 0/1 означает, что 0 из 1 файла в очереди еще нужно проверить.

Во время обычной передачи, скажем, 42 файлов, to-check будет в основном отсчитываться от 42 до 0 (to-check=38/42to-check=2/42) до тех пор, пока rsync не выполнит синхронизацию.

Обратите внимание, что для большого количества файлов последнее число в to-check также может увеличиваться, поскольку rsync не ставит все файлы в очередь сразу (to-check=38/42 ... to-check=2/56). Это потому, что он использует алгоритм рекурсии:

Начиная с rsync 3.0.0, используемый рекурсивный алгоритм теперь представляет собой инкрементное сканирование, которое использует намного меньше памяти, чем раньше, и начинает передачу после завершения сканирования первых нескольких каталогов.

Чтобы отключить это поведение, добавьте параметр --no-inc-recursive .

Обратите внимание, что в более новых выпусках rsync (3.1.0) метка была изменена на ir-chk для обозначения инкрементного рекурсивного прогресса (т. Е. По умолчанию) и to-check чтобы указать неинкрементный рекурсивный прогресс (то есть: с --no-inc-recursive варианта).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .