首先在服务端:配置/etc/rsyncd.conf 设置
Charset = UTF-8 ;中文识别,配合命令$rsync -avz --iconv=utf-8,GBK
接着在在客户机中运行加上iconv参数
$rsync -avz --delete --iconv=UTF-8,GBK test@192.168.1.2:/data/test /data/test/
+++++++++
主要原因是因为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端的中文文件不会被删除!


