分类: BSD
2010-01-07 16:37:20
使用iconv参数进行转换,可解决中文文件名乱码问题,使用参数
--iconv=locale_charset,remote_charset
rsync for Linux 3.0 ,rsync for Windows (cwRsync_Server) 2.14以上版本 支持,需要客户端服务端都是新版本
服务端配置文件需要加上:
charset=gb2312
否则客户端无法使用--iconv参数
使用以下命令双向同步:
rsync -rvzt -u --update -i --iconv utf8,gb2312 nobody@91linux.cn::test /data/Test
rsync -rvzt -u --update -i --iconv utf8,gb2312 /data/Test/*
我的服务端是freebsd6.2,要转换字符
#setenv LANG gb2312
#locale
LANG=gb2312
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
同时rsyncd.conf里边要加上:charset=gb2312
然后/usr/local/etc/rc.d/rsyncd restart
那么客户端使用:
rsync -avzP --iconv=utf-8,gb2312 /test
这样就可以把服务端的中文正确的同步过来。