一、环境:
Rsync服务器端:1、CentOS 6.2 Linux: 196.171.110.224(简称CentOS224)
2、Ubuntu 10.10 Linux:196.171.110.235(简称Tomcat235) Rsync客户端:1、Windows 2003 x64 R2: 196.171.110.52(简称Win2k3)
2、CentOS 6.2 Linux:196.171.110.223(简称CentOS223)
重要的问题:
1、关于rsyncd服务
**在CentOS下,rsyncd是由xinetd来管理的,所以它的控制文件在/etc/xinetd.d/rsync这里。
**在Ubuntu下,rsyncd是作为独立的服务存在的,它的控制文件在/etc/default/rsync这里。
上述都是把rsync文件里的disable=yes 改为 disable=no就应该可以随机启动服务了。当然,如果启动以后,发现没有正常启动起来,多半是配置文件造成服务无法启动。
2、Windows下的rsync叫做 cwRsync(http://rsync.samba.org/),是一个在Windows底下的GUI界面工具,最新的版本(2011年12月份版本)是5.0.1。比较讨厌的一点是,该软件现在并非开源免费,变成了是一收费软件(但是4.0.3(2010月1月份版本)之前的老版本仍然是免费的:-))。它本身自带服务器端版本,或者客户端版本,可以单独安装客户端版本,服务器版本自带客户端版本。
测试的命令:rsync -av -e "ssh -l rsync" /cygdrive/c/test rsync@196.171.110.224:'/home/rsync/www'"
正式的批处理的命令:我的批处理文件名叫rsyncfile.bat。如下:
===========================================================================
@ECHO OFF
SET SECHAW_IDENTITY="C:\ssh\id_rsa"
SET SECHAW_TYPE=ssh
SET SECHAW_LOCALPORT=9119
SET SECHAW_SERVER=196.171.110.224
SET SECHAW_SERVERPORT=873
SET SECHAW_USER=SvcwRsync
set CYGWIN=nodosfilewarning
rem SET SECHAW_CMD="C:\Program Files (x86)\cwRsync\bin\rsync.exe" -ahqztvrog --progress --delete rsync@196.171.110.224::/home/rsync/www c:/test
rem SET SECHAW_CMD="C:\Program Files (x86)\cwRsync\bin\rsync.exe" -ahqztvrog --delete/cygdrive/c/test rsync@196.171.110.224:~/www
SET SECHAW_CMD="C:\Program Files (x86)\cwRsync\bin\rsync.exe" -ahqztvrog --delete /cygdrive/c/test rsync@196.171.110.224:'/home/rsync/www'
SET SECHAW_TUNNEL=ssh -i "C:\ssh\id_rsa" -L 9119:127.0.0.1:873 rsync@196.171.110.224 -T -N
"C:\Program Files (x86)\cwRsync\bin\sechaw.exe" --verbose===================================================================================
在Winodws下,要使用ssh的话,需要用ssh-keygen.exe -t rsa 生成公钥id_rsa.put以及私钥id_rsa, 生成文件的时候,要指定目录。这样密钥文件会放到指定的目录下。======================================================================
C:\Program Files (x86)\cwRsync\bin>ssh-keygen.exe -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/Administrator/.ssh/id_rsa): c:\test\i
d_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in c:\test\id_rsa.
Your public key has been saved in c:\test\id_rsa.pub.
The key fingerprint is:
51:05:f2:e4:5e:58:b0:2e:93:58:47:75:97:8d:c7:2f Administrator@dyne-test
The key's randomart image is:
+--[ RSA 2048]----+
|. *=+ .o+|
|B + ..o+|
|o * . ..|
|o * . E .|
|. S o . |
|o |
||
||
||
+-----------------+C:\Program Files (x86)\cwRsync\bin>
======================================================================
缺声情况下,Windows 客户端使用9119端口。
有一个 SecureChannelWizard.exe 文件,这个向导帮助你建立脚本,对实际运行没什么帮助。
puttygen.exe这个可执行文件帮助生成密钥的文件。
Windows下还有一个比较重要的问题是路径问题,在Windows下,会安装cygwin这个工具,它把路径作了转换,把磁盘重新mount成/cygwin/c/xxx,这个就表示c:\xxx目录,如果是cygwin/d/yyy,那么就表示d:\yyy目录了。注意全部要用小写字母。
在安装完以后的C:\Program Files (x86)\cwRsync目录下 有一个 cwrsync.cmd文件,是一些使用rsync命令的例子和简单说明,非常有参考价值。
自带了几个html说明文件,是最主要的参考资料。在windows下如何使用,主要看它了。
运行是否正常:截图:
============================================================ C:\Program Files (x86)\cwRsync\bin>sechaw
Tunnel: ssh
Command to run: "C:\Program Files (x86)\cwRsync\bin\rsync.exe" -ahqztvrog --dele
te /cygdrive/c/test rsync@196.171.110.224:'/home/rsync/www'
Tunnel command: ssh -i "C:\ssh\id_rsa" -L 9119:127.0.0.1:873 rsync@196.171.110.2
24 -T -N
Establishing secure channel ...
rsync@196.171.110.224's password:
Terminating secure channel ...C:\Program Files (x86)\cwRsync\bin>
==============================================================
C:\Program Files (x86)\cwRsync\bin>rsyncfile
Tunnel: ssh
Command to run: "C:\Program Files (x86)\cwRsync\bin\rsync.exe" -ahqztvrog --dele
te /cygdrive/c/test rsync@196.171.110.224:'/home/rsync/www'
Tunnel command: ssh -i "C:\ssh\id_rsa" -L 9119:127.0.0.1:873 rsync@196.171.110.2
24 -T -N
Establishing secure channel ...
rsync@196.171.110.224's password:
Terminating secure channel ...C:\Program Files (x86)\cwRsync\bin>
================================================================
cwRsync客户端服务器端同步软件的windows到windows的配置
准备两台机器 我的是
服务器端IP:192.168.1.18
客户端IP:192.168.1.139
下载cwRsync软件:
服务器端:cwRsync_Server_2.0.10_Installer.exe
客户端:cwRsync_2.0.10_Installer.exe
安装与配置:
1.服务器端:
a.安装cwRsync_Server_2.0.10_Installer.exe软件;
b.在开始程序中打开“start a unix bash shell”程序:
进入一个类似cmd的终端,输入如下命令:
$/bin/activate-user.sh
输入l
输入administrator
后面全按回来结束;
c.启动opensshd
打开“控制面板”-->“管理工具”-->“服务”:
找到一个opensshd的服务,启动它;
d.配置rsyncd.conf配置文件
编辑C:\Program Files\cwRsyncServer\rsyncd.conf,(在安装该软件目录下)内容如下:
#全局变量
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
secrets file=password
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/d/backup
#
[rsync] #模块名称
auth users=sunfang #用户名称
path = /cygdrive/d/test #此处路径代表d:\test目录,此可为自定义
read only = yes
transfer logging = yes
secrets file=/cygdrive/d/rsyncd.secrets
e.启动rsync服务:
打开“控制面板”-->“管理工具”-->“服务”:
找到一个RsyncServer的服务,启动它
到此server端配置结束,接下来配置client端 。
2.客户端:
a.安装client端软件包:cwRsync_2.0.10_Installer.exe;
b.打开cmd,执行如下操作,测试服务端是否正常 启动服务 了:
cd C:\Program Files\cwRsync\bin (到安装客户端软件的安装目录下的bin文件夹下)
telnet 192.168.1.18 22
telnet 192.168.1.18 873
若上述测试成功,此时可执行同步计划:
rsync -vzrtopg --progress --delete --password-file=/cygdrive/e/sunfang.ps sunfang@192.168.0.201::rsync /cygdrive/d/test
此处的 /cygdrive/e/sunfang.ps 是客户端的e盘下的sunfang.ps文件,该文件内容是sunfang这个用户的密码,只存密码; /cygdrive/d/test是客户端的d盘下的test文件夹,用来保存服务器端同步过来的文件。 (若密码文件打不开,会提示输入密码,用户名为sunfang,密码则为sunfang的登录密码)
至此,安装配置windows到windows间的同步已经OK
如果定时同步server上的文件,可将其加入任务计划中。
==========================================================================
cwRsync客户端服务器端同步软件的windows到windows的配置准备两台机器 我的是服务器端IP:192.168.1.18客户端IP:192.168.1.139下载cwRsync软件:服务器端:cwRsync_Server_2.0.10_Installer.exe 客户端:cwRsync_2.0.10_Installer.exe 安装与配置:1.服务器端: a.安装cwRsync_Server_2.0.10_Installer.exe软件; b.在开始程序中 打开“start a unix bash shell”程序:
进入一个类似cmd的终端,输入如下命令:
$/bin/activate-user.sh
输入l
输入administrator
后面全按回来结束;
c.启动opensshd
打开“控制面板”-->“管理工具”-->“服务”:
找到一个opensshd的服务,启动它;
d.配置rsyncd.conf配置文件
编辑C:\Program Files\cwRsyncServer\rsyncd.conf,(在安装该软件目录下)内容如下:
#全局变量
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
secrets file=password # Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/d/backup
# [rsync] #模块名称
auth users=sunfang #用户名称
path = /cygdrive/d/test #此处路径代表d:\test目录,此可为自定义
read only = yes
transfer logging = yes
secrets file=/cygdrive/d/rsyncd.secrets e.启动rsync服务:
打开“控制面板”-->“管理工具”-->“服务”:
找到一个RsyncServer的服务,启动它
到此server端配置结束,接下来配置client端 。 2.客户端: a.安装client端软件包:cwRsync_2.0.10_Installer.exe; b.打开cmd,执行如下操作,测试服务端是否正常 启动服务 了:
cd C:\Program Files\cwRsync\bin (到安装客户端软件的安装目录下的bin文件夹下)
telnet 192.168.1.18 22
telnet 192.168.1.18 873
若上述测试成功,此时可执行同步计划: rsync -vzrtopg --progress --delete --password-file=/cygdrive/e/sunfang.ps sunfang@192.168.0.201::rsync /cygdrive/d/test此处的 /cygdrive/e/sunfang.ps 是客户端的e盘下的sunfang.ps文件,该文件内容是sunfang这个用户的密码,只存密码; /cygdrive/d/test是客户端的d盘下的test文件夹,用来保存服务器端同步过来的文件。 (若密码文件打不开,会提示输入密码,用户名为sunfang,密码则为sunfang的登录密码)至此,安装配置windows到windows间的同步已经OK
如果定时同步server上的文件,可将其加入任务计划中。
cwRsync客户端服务器端同步软件的windows到windows的配置准备两台机器 我的是服务器端IP:192.168.1.18客户端IP:192.168.1.139下载cwRsync软件:服务器端:cwRsync_Server_2.0.10_Installer.exe 客户端:cwRsync_2.0.10_Installer.exe 安装与配置:1.服务器端: a.安装cwRsync_Server_2.0.10_Installer.exe软件; b.在开始程序中 打开“start a unix bash shell”程序:
进入一个类似cmd的终端,输入如下命令:
$/bin/activate-user.sh
输入l
输入administrator
后面全按回来结束;
c.启动opensshd
打开“控制面板”-->“管理工具”-->“服务”:
找到一个opensshd的服务,启动它;
d.配置rsyncd.conf配置文件
编辑C:\Program Files\cwRsyncServer\rsyncd.conf,(在安装该软件目录下)内容如下:
#全局变量
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
secrets file=password # Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/d/backup
# [rsync] #模块名称
auth users=sunfang #用户名称
path = /cygdrive/d/test #此处路径代表d:\test目录,此可为自定义
read only = yes
transfer logging = yes
secrets file=/cygdrive/d/rsyncd.secrets e.启动rsync服务:
打开“控制面板”-->“管理工具”-->“服务”:
找到一个RsyncServer的服务,启动它
到此server端配置结束,接下来配置client端 。 2.客户端: a.安装client端软件包:cwRsync_2.0.10_Installer.exe; b.打开cmd,执行如下操作,测试服务端是否正常 启动服务 了:
cd C:\Program Files\cwRsync\bin (到安装客户端软件的安装目录下的bin文件夹下)
telnet 192.168.1.18 22
telnet 192.168.1.18 873
若上述测试成功,此时可执行同步计划: rsync -vzrtopg --progress --delete --password-file=/cygdrive/e/sunfang.ps sunfang@192.168.0.201::rsync /cygdrive/d/test此处的 /cygdrive/e/sunfang.ps 是客户端的e盘下的sunfang.ps文件,该文件内容是sunfang这个用户的密码,只存密码; /cygdrive/d/test是客户端的d盘下的test文件夹,用来保存服务器端同步过来的文件。 (若密码文件打不开,会提示输入密码,用户名为sunfang,密码则为sunfang的登录密码)至此,安装配置windows到windows间的同步已经OK
如果定时同步server上的文件,可将其加入任务计划中。
cwRsync客户端服务器端同步软件的windows到windows的配置准备两台机器 我的是服务器端IP:192.168.1.18客户端IP:192.168.1.139下载cwRsync软件:服务器端:cwRsync_Server_2.0.10_Installer.exe 客户端:cwRsync_2.0.10_Installer.exe 安装与配置:1.服务器端: a.安装cwRsync_Server_2.0.10_Installer.exe软件; b.在开始程序中 打开“start a unix bash shell”程序:
进入一个类似cmd的终端,输入如下命令:
$/bin/activate-user.sh
输入l
输入administrator
后面全按回来结束;
c.启动opensshd
打开“控制面板”-->“管理工具”-->“服务”:
找到一个opensshd的服务,启动它;
d.配置rsyncd.conf配置文件
编辑C:\Program Files\cwRsyncServer\rsyncd.conf,(在安装该软件目录下)内容如下:
#全局变量
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
secrets file=password # Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/d/backup
# [rsync] #模块名称
auth users=sunfang #用户名称
path = /cygdrive/d/test #此处路径代表d:\test目录,此可为自定义
read only = yes
transfer logging = yes
secrets file=/cygdrive/d/rsyncd.secrets e.启动rsync服务:
打开“控制面板”-->“管理工具”-->“服务”:
找到一个RsyncServer的服务,启动它
到此server端配置结束,接下来配置client端 。 2.客户端: a.安装client端软件包:cwRsync_2.0.10_Installer.exe; b.打开cmd,执行如下操作,测试服务端是否正常 启动服务 了:
cd C:\Program Files\cwRsync\bin (到安装客户端软件的安装目录下的bin文件夹下)
telnet 192.168.1.18 22
telnet 192.168.1.18 873
若上述测试成功,此时可执行同步计划: rsync -vzrtopg --progress --delete --password-file=/cygdrive/e/sunfang.ps sunfang@192.168.0.201::rsync /cygdrive/d/test此处的 /cygdrive/e/sunfang.ps 是客户端的e盘下的sunfang.ps文件,该文件内容是sunfang这个用户的密码,只存密码; /cygdrive/d/test是客户端的d盘下的test文件夹,用来保存服务器端同步过来的文件。 (若密码文件打不开,会提示输入密码,用户名为sunfang,密码则为sunfang的登录密码)至此,安装配置windows到windows间的同步已经OK
如果定时同步server上的文件,可将其加入任务计划中。3、关于是否SSH:
rsync可以使用ssh,也可以不使用ssh,一般来说,为了安全,
二、CentOS224
1、安装成rsyncd服务,在CentOS下,rsyncd是由xinetd来管理的,所以它的控制文件在/etc/xinetd.d/rsync这里,