Что вывод Rsync говорит здесь о to-chk?
Я использовал 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 ответ
to-chk
или же to-check
дает вам количество файлов, которые еще нужно проверить, например, 0/1
означает, что 0 из 1 файла в очереди еще нужно проверить.
Во время обычной передачи, скажем, с 42 файлами, to-check
будет в основном отсчитывать от 42 до 0 (to-check=38/42
...to-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
опция).