我使用 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
意味着队列中总共 1 个文件中有 0 个仍需检查。
在正常传输过程中,假设有 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
)。