![rsync和xfr#1,to-chk=0/1,它们是什么意思?](https://linux22.com/image/73660/rsync%E5%92%8Cxfr%231%EF%BC%8Cto-chk%3D0%2F1%EF%BC%8C%E5%AE%83%E4%BB%AC%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%EF%BC%9F%20.png)
我做的事情包括:-
$ copy debian-8.2.0-amd64-DVD-1.iso /media/shirish/4719-38E5/
复制这里是一个别名:-
$ alias copy
alias copy='rsync --progress -ravz'
当它执行命令时,需要很长时间才能完成并且执行以下操作:-
$ copy debian-8.2.0-amd64-DVD-1.iso /media/shirish/4719-38E5/
sending incremental file list
debian-8.2.0-amd64-DVD-1.iso
3,607,855,104 100% 9.11MB/s 0:06:17 (xfr#1, to-chk=0/1)
sent 3,466,268,276 bytes received 35 bytes 3,481,937.03 bytes/sec
total size is 3,607,855,104 speedup is 1.04
现在我有两个问题:-
A。 rsync 中的 -z 没有记录,有人知道它是做什么的吗?很可能这面旗帜以前曾在那里,但现在已经不在那里了。
另一件事,有人知道xfr#1, to-chk=0/1
实际做什么吗?
我通常sync
在命令完成后执行,有人知道是否可以使用它,因为复制需要很长时间。
人们还可以使用一些更好、更好的方法,这样我就可以使用别名来完成同样的任务。对我来说,取得进步很重要。几个月前,我确实遇到了一个高级功能cp
,它还有一个进度条,用于显示正在复制的文件的进度。
希望上述问题能尽快得到解决。
答案1
事情解决了——
-z, --compress compress file data during the transfer --compress-level=NUM explicitly set compression level
这部分似乎是有趣的部分。
--progress
此选项告诉 rsync 打印显示传输进度的信息。这给无聊的用户提供了一些可看的东西。对于现代 rsync,这与指定相同
--info=flist2,name,progress
但用户为这些信息标志提供的任何设置均优先(例如“
--info=flist0 --progress
”)。当 rsync 传输常规文件时,它会更新如下所示的进度线:
782448 63% 110.64kB/s 0:00:04
在此示例中,接收方已重建了 782448 字节或发送方文件的 63%,该文件正在以每秒 110.64 KB 的速率重建,如果保持当前速率直到结束,传输将在 4 秒内完成。
如果使用 rsync 的增量传输算法,这些统计数据可能会产生误导。例如,如果发送者的文件由基础文件和附加数据组成,则当接收者获取文字数据时,报告的速率可能会急剧下降,并且传输完成的时间可能比接收者估计的时间长得多完成文件的匹配部分。
文件传输完成后,rsync 将进度行替换为如下所示的摘要行:
1,238,099 100% 146.38kB/s 0:00:08 (xfr#5, to-chk=169/396)
在此示例中,文件总共有 1,238,099 字节长,整个文件的平均传输速率为 8 秒内完成的每秒 146.38 KB,这是当前期间常规文件的第五次传输 rsync 会话,还有 169 个文件供接收方检查 (看看它们是否是最新的)在 396 个总数中剩下的 文件列表中的文件。
在增量递归扫描中,rsync 在到达扫描末尾之前不会知道文件列表中的文件总数,但由于它在扫描期间开始传输文件,因此会显示一行文本“ ir-chk”(用于增量递归检查)而不是“to-chk”,直到它知道列表的完整大小,此时它将切换到使用“to-chk”。因此,看到“ir-chk”可以让您知道文件列表中的文件总数仍然会增加(并且每次增加时,剩余要检查的文件数将根据添加到的文件数而增加)列表)。