rsync在Windows和linux之间传输文件名乱码问题

时间:2024-05-21 21:34:22

名称
角色
IP地址
Windows server 2003
服务器
Eth0:192.168.1.1
RHEL5.5
客户端
Eth0:192.168.1.2
一、cwRsyncServer服务端配置
下载服务端cwRsyncServer
解压cwRsyncServer_4.0.3_Installer.zip,双击cwRsyncServer_4.0.3_Installer.exe
rsync在Windows和linux之间传输文件名乱码问题
rsync在Windows和linux之间传输文件名乱码问题
rsync在Windows和linux之间传输文件名乱码问题
rsync在Windows和linux之间传输文件名乱码问题
rsync在Windows和linux之间传输文件名乱码问题
rsync在Windows和linux之间传输文件名乱码问题
rsync在Windows和linux之间传输文件名乱码问题
我的电脑—右键管理---服务和应用—服务
找到RsyncSever,双击—启动
rsync在Windows和linux之间传输文件名乱码问题
提供桌面交互
rsync在Windows和linux之间传输文件名乱码问题

打开E盘,创建要备份的文件夹,此处取名为benet(此处是文件夹,不是文件)
右键单击benet文件夹,选择属性,切换到安全选项,点添加
输入:SvcCWRSYNC
rsync在Windows和linux之间传输文件名乱码问题

打开C:\Program Files\ICW目录
用记事本打开rsyncd.conf,修改添加以下内容(修改之前先备份,以防出错重改)
rsync在Windows和linux之间传输文件名乱码问题

编辑rsyncd.conf文件
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[benet]#备份模版
path = /cygdrive/e/benet
read only = true#客户端只读
hosts allow = 192.168.1.2#允许连接IP,多个IP中间用英文状态下逗号隔,不限制IP填写 *即可
auth users = benet#允许连接的用户名
secrets file = etc/rsyncd.secrets#存放用户名密码的认证文件路径
rsync在Windows和linux之间传输文件名乱码问题

在C:\Program Files\ICW目录下面新建/etc/rsyncd.secrets文件
用记事本打开,输入用户名和密码
benet:123
rsync在Windows和linux之间传输文件名乱码问题

二、Rsync客户端配置
1、查看selinux机制,关闭selinux
[[email protected] ~]# getenforce
Disabled
2、开启防护墙tcp 873端口,以便日后改为服务器使用
[[email protected] ~]# vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A INPUT -m state –state NEW -m tcp -p tcp –dport 873 -j ACCEPT
3、安装Rsync客户端软件
[[email protected] ~]# yum install rsync xinetd
[[email protected] ~]# vi /etc/xinetd.d/rsync #编辑配置文件,设置开机启动rsync ,Centos上的rsync使用xinetd启用的
将disable=yes,改为no
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure+= USERID
}
/etc/init.d/xinetd start #启动
4、测试
远程一下测试一下是否可以正常通信,安装telnet
[[email protected] ~]# telnet 192.168.1.1 873#成功
Trying 192.168.1.1...
Connected to 192.168.1.1 (192.168.1.1).
Escape character is '^]'.
@RSYNCD: 30.0
同步数据
为了输入时不手动输入密码,我们在客户端也创建一个和服务端一样的密码文件(此文件路径和密码要与服务器端的一样,客户端不用写名字)
[[email protected] ~]# echo “123”> /etc/rsyncd.secrets#文件名可以不一样,但要在/etc下
[[email protected] ~]# cat /etc/rsyncd.secrets
123
[[email protected] ~]# chmod 600 /etc/rsyncd.secrets
在客户端同步数据
注意:此处的密码为cwRsyncServer服务端C:\Program Files\ICW\etc\rsyncd.secrets文件配置的密码
[[email protected] ~]# rsync -avz--password-file=/etc/rsyncd.secrets [email protected]::benet /opt/
receiving file list ... done
./
11.txt
sent 91 bytesreceived 192 bytes51.45 bytes/sec
total size is 52speedup is 0.18
5.实现自动同步数据,手动编写一个小脚本。冒号后面的为在服务器端定义的模版
[[email protected] ~]# vim rsync.sh
#!/bin/bash
/usr/bin/rsync -avz --password-file=/etc/[email protected]::benet/opt
加入自动化备份
[[email protected] ~]# chmod +x /root/rsync.sh
[[email protected] ~]# crontab -e
* * * * * /root/rsync.sh



rsync在Windows和linux之间传输文件名乱码问题


Rsync 介绍http://selboo.com.cn/read.php?498

环境
Windows
cwRsyncServer_4.0.3

http://sourceforge.net/projects/sereds/files/cwRsync/4.0.3/cwRsyncServer_4.0.3_Installer.zip

Linux
Rsync 3.0.7
http://www.samba.org/ftp/rsync/rsync-3.0.7.tar.gz

Windows 配置

在 rsyncd.conf 中添加 charset=UTF-8

Linux 配置

修改 /etc/sysconfig/i18n 文件为如下
LANG="zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
使配置生效:
source /etc/sysconfig/i18n

同步参数
rsync--iconv=GBK,UTF-8 --protect-args-vlzrpuDP --progress --delete --password-file=/rsync/rsync.passwd [email protected]::dome /dome/
主要就是添加红色字段
===========================================================
一、windows与windows同步
1.准备两台机器:
server—–192.168.0.201
client—–192.168.0.202

2.下载windows版的rsync工具
具体软件下载链接我也忘了,不过在google应该可以搜索到。
我也将它上传到CU上……

http://blog.chinaunix.net/fileicon/zip.gif文件:cwRsync_2.0.10_Installer.zip大小:2953KB下载:下载http://blog.chinaunix.net/fileicon/zip.gif文件:cwRsync_Server_2.0.10_Installer.zip大小:2821KB下载:下载server端:cwRsync_Server_2.0.10_Installer.zip

client端:cwRsync_2.0.10_Installer.zip

3.安装 与配置
SERVER:
(1)安装cwRsync_Server_2.0.10_Installer.zip
在开始程序中打开“start a unix bash shell”程序:
进入一个类似cmd的终端,输入如下命令:
$/bin/activate-user.sh
输入l
输入administrator
后面全按回来结束

(2)启动opensshd
打开“控制面板”-->“管理工具”-->“服务”:
找到一个opensshd的服务,启动它

(3)配置rsyncd.conf配置文件
编辑C:\Program Files\cwRsyncServer\rsyncd.conf,内容如下:
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
[rsync]
path = /cygdrive/f/rsync (此处路径代表f:\rsync目录)
read only = yes
transfer logging = yes
secrets file = /cygdrive/f/rsyncd.secrets

(4)启动rsync服务
打开“控制面板”-->“管理工具”-->“服务”:
找到一个RsyncServer的服务,启动它
到此server端配置结束,接下来配置client端 。

CLIENT:
(1)安装client端软件包:cwRsync_2.0.10_Installer.zip
(2)打开cmd,执行如下操作,测试服务端是否正常 启动服务 了:
cd C:\Program Files\cwRsync\bin
telnet 192.168.0.201 22
telnet 192.168.0.201 873
若上述测试成功,此时可执行同步计划:
rsync -vzrtopg –progress –delete 192.168.0.201::rsync /cygdrive/d/test
或者是:
rsync -vzrtopg –progress –delete 192.168.0.201:/cygdrive/d/rsync /cygdrive/d/test
(此时,会提示输入密码,用户名为administrator,密码则为192.168.0.201的管理员登录密码)
至此,安装配置windows到windows间的同步已经OK
如果定时同步server上的文件,可将其加入任务计划中。

二、windows作为server时与linux间的同步
1、准备机器,此时使用windows作为server
server—192.168.0.201 (windows)
client—192.168.0.132 (linux)

2、经过上文的操作,此时可简化操作了
进入linux主机client同步server:
#rsync -vzrtopg –progress –delete 192.168.0.201::rsync /test

三、linux作为server时与windows间的同步
1、准备机器,此时使用linux作为server
server—192.168.0.132 (linux)
client—192.168.0.202 (windows)

2、安装与配置linux主机的rsync
(1)查看linux上是否安装rsync:
#rpm -qa|grep rsync
若无则安装,或者使用tar编译安装
#rpm -ivh rsync-2.6.8-3.1.rpm

(2)打开rsync服务
#chkconfig xinetd on
#chkconfig rsync on

(3)创建 rsyncd.conf 文件
#touch /etc/rsyncd.conf
#vi /etc/rsyncd.conf(内容如下:)
uid = nobody
gid = nobody
max connections = 4

[www]
path = /www
comment = BACKUP WWW
ignore errors
read only = yes
list = no
auth users = wwwuser
hosts allow=192.168.0.202
secrets file = /etc/wwwuser.pass

(4)启动基于xinetd进程的rsync服务
#/etc/init.d/xinetd start

3、配置windows的rsync客户端
(1)安装client端的rsync包
(2)打开cmd,执行同步计划:
cd C:\Program Files\cwRsync\bin
rsync -vzrtopg –progress –delete [email protected]::www /cygdrive/d/test
(此时须输入root用户的密码,就可进行同步了。)

至此,全部配置完成。

注:
要使用加密的同步,可使用……
rsync -e ’ssh -p 2002′ -vzrtopg –progress –delete [email protected]::www /cygdrive/d/test