由于业务需要,需在ftp服务器创建多一个目录,用于给另外一个新系统做测试用。
简单画图如下:
目前架构:
计划方案:
下面简单记录下方案实现过程。
1、linux搭建rsync
1.1、编译安装
wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz tar -xvf rsync-3.1.2.tar.gz cd rsync-3.1.2 ./configure --prefix=/usr/local/rsync && make && make install
1.2、修改配置
#vim /usr/local/rsync/rsyncd.conf ================================================= #全局参数 uid = root gid = root use chroot = no max connections = 5 strict modes = yes port = 8888 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log #模块 [inbound] path = /home/ftptmslive/inbound ignore errors read only = false list = no #hosts allow = 0.0.0.0 auth users = rsync secrets file =/usr/local/rsync/rsyncd.secrets #模块 [scmp] path = /home/ftptmslive/scmp ignore errors read only = false list = no #hosts allow = 0.0.0.0 auth users = rsync secrets file =/usr/local/rsync/rsyncd.secrets ================================================= #vim /usr/local/rsync/rsyncd.secrets ================================================= rsync:xxxxxx ================================================= #chmod 600 /usr/local/rsync/rsyncd.secrets
1.3、启动rsync
/usr/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf
2、windows搭建rsync
2.1. 点击服务端安装程序进行安装
在win服务器上安装cwRsyncServer_4.0.5_Installer.exe,安装的时候路径不要去改,全部用默认路径,如果用的是64位操作系统把默认路径中的Program Files (x86)那个(x86)删掉,安装过程中rsync会自动建立一个叫做rsync的用户名,并且提示你输入这个用户的密码,这里很关键,这个密码一定要是你系统用户即adminstrator的密码,如果怕出错就不用管他直接点下一步,值得完成安装,这时打开你的服务检查下有没有一个RsyncServer的服务,如果没有的话就是那个用户密码的地方弄错了,建议卸载重新安装,如果有那就OK,最后检查下你的防火墙是否打开873端口
检查服务可以看到有rsync服务程序
2.2. 修改配置
安装完成之后,进入程序安装目录根目录,打开配置文件(如:C:Program Files(x86)ICWrsyncd.conf ),进入配置。
修改后如下:
以上Windows目录的写法,应该按照POSIX风格来写,默认配置文件的写要写成cygdrive,如D:/data,要写成/cygdrive/d/data。
说明:
strict modes = false 不验证用户密码, pid = 0,uid = 0指定匿名访问。 auth users : 指访问data_backup的用户名 secrets file : data_backup用户名对应的密码文件。
2.3.修改服务自启动
控制面板--管理工具--服务
:a c: cd C:Program FilescwRsyncbin echo ##############开始下载###################### rsync --port=8888 -vzrtopg --progress --timeout 300 源服务器::scmp/ /cygdrive/d/rsync/scmp/ftp/ echo ###################################开始上传################################################# rsync --port=8888 -vzrtopg --progress --timeout 300 --password-file=/cygdrive/d/rsync/rsyncd.txt /cygdrive/d/rsync/scmp/ftp/* 目的服务器::scmp/ ping 127.0.0.1 -n 60 >null pause goto a
--delete # 从客户端目录中删除与服务端目录中不同的数据,保证两边数据完全一致,调试时慎用
--timeout #超时设定,在服务器忙或者网络忙时rsync会出现同步到一半不动的情况,用了这个参数就可以设定在指定的时间内rsync没有进行操作则取消
--pause #暂停,调试时使用