主要原因是因为windows和linux端文件名编码不同导致的!
rsync在3.0版本之后,提供了一个选项,可以进行文件编码的转换,格式如下:
--iconv=<local>,<remote>
local指本地编码,remote指远程机器编码,参考示例如下:
从linux sersync推到windows时:
linux端sersync confxml.xml配置<commonparams params="-avzp --iconv=gbk,utf-8"/>
windows端rsyncd.conf配置文件中添加charset = utf-8
windows端从linux端拉过来时:
windows端cwrsync要有--iconv=utf-8,gbk选项
linux端rsyncd.conf要添加charset = gbk
遇到问题:从linux推到windows端时,中英文的文件都正常,但是如果在linux端删掉文件,windows端的中文文件不会被删除!