Rsync的输出在此处说明了有关to-chk的信息?


20

我正在使用--progress选项使用rsync,因此文件传输完成,并且得到以下输出

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代表什么?


您的传输仅包含一个文件吗?
slhck

是的,只有1个文件
Akshay Patil

Answers:


31

to-chkto-check为您提供仍有待检查的文件数,例如,0/1意味着仍需要检查队列中总共1个文件中的0个。

在正常的传输过程中,假设有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选项)。


我认为除了ir-chk之外,它还在扫描文件系统时有更多文件系统可扫描,然后到结束时它变为to-chk,这意味着不再进行扫描要求,总值输出为最终倒数,它将不再递增
Christopher Thomas
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.