主要原因是因为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端的中文文件不会被删除!