我一直在使用rsync 3.1.2中的--skip-compress
选项,它似乎没有选择性地跳过列表中带有后缀的文件的压缩。作为一个基本的例子,如果我传输两个文件,一个“.log”文件和一个“.grb2”文件,我会得到以下结果:
无压缩
发送156,412,712字节接收110字节62,565,128.80字节/秒
总大小为156,374,300,加速为1.00默认压缩,没有自定义跳过列表
发送99,482,854字节接收110字节10,471,890.95字节/秒
总规模为156,374,300,加速比为1.57默认压缩,
--skip-compress=grb2
发送99,482,854字节接收110字节11,703,878.12字节/秒
总规模为156,374,300,加速比为1.57
这表明自定义跳过列表未成功跳过grb2文件压缩。另一方面,如果我只是重命名要在grb2文件之后读取的日志文件,我会看到以下内容:
无压缩
发送156,412,731字节接收110字节62,565,136.40字节/秒
总大小为156,374,300,加速为1.00默认压缩,没有自定义跳过列表
发送99,482,869字节接收110字节11,703,879.88字节/秒
总规模为156,374,300,加速比为1.57默认压缩,
--skip-compress=grb2
发送156,439,778字节接收110字节62,575,955.20字节/秒
总大小为156,374,300,加速为1.00
我相信这表示当第一个文件读取在跳过列表中有后缀时,没有文件被压缩。查看token.c中的set_compression
函数,我看到当遇到跳过列表中带有后缀的文件时compression_level
变量设置为0,但该变量似乎只读取一次在初始执行send_deflated_token
期间。
我做错了什么,还是我误解了--skip-compress
选项的意图?