CentOS Rsync服务端与Windows cwRsync客户端实现数据同步配置方法

时间:2022-01-16 13:04:55

说明:
1、Rsync服务端
系统:CentOS 5.5
IP地址:192.168.21.160
数据存放目录:/data/osyunwei
2、cwRsync客户端
系统:Windows Server 2003
IP地址:192.168.21.130
同步的目录:D:\osyunwei
实现目的:
cwRsync客户端每天凌晨3:00钟自动同步Rsync服务端/data/osyunwei目录中的数据到D:\osyunwei目录

一、Rsync服务端配置

1、关闭SELINUX
vi /etc/selinux/config #编辑防火墙配置文件
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq #保存,关闭
shutdown -r now #重启系统


2、开启防火墙tcp 873端口(Rsync默认端口)
vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
:wq! #保存
/etc/init.d/iptables restart #最后重启防火墙使配置生效
3、安装Rsync服务端软件
yum install rsync xinetd   #安装
vi /etc/xinetd.d/rsync  #编辑配置文件,设置开机启动rsync
disable = no #修改为
/etc/init.d/xinetd start  #启动(CentOS中是以xinetd 来管理Rsync服务的)
4、创建rsyncd.conf配置文件
vi /etc/rsyncd.conf  #创建配置文件,添加以下代码
log file = /var/log/rsyncd.log   #日志文件位置,启动rsync后自动产生这个文件,无需提前创建。
[osyunwei]    #自定义名称
path = /data/osyunwei   #Rsync服务端数据目录路径
comment = osyunwei    #模块名称与[osyunwei]自定义名称相同
uid = root  #设置rsync运行权限为root
gid = root  #设置rsync运行权限为root
port=873    #默认端口
read only = no   #设置为no,cwRsync客户端可上传文件,yes只读
write only = no  #设置为no,cwRsync客户端可下载文件,yes不能下载
auth users = osyunweibakuser   #执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开
secrets file = /etc/rsync.pass   #用户认证配置文件,里面保存用户名称和密码,后面会创建这个文件
hosts allow = 192.168.21.130  #允许进行数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开
hosts deny = 192.168.21.254   #禁止数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开
list = yes  #显示Rsync服务端资源列表

:wq! #保存

5、创建用户认证文件
vi  /etc/rsync.pass     #配置文件,添加以下内容
osyunweibakuser:123456  #格式,用户名:密码,可以设置多个,每行一个用户名:密码
:wq! #保存
6、设置文件权限
chmod 600 /etc/rsyncd.conf  #设置文件所有者读取、写入权限
chmod 600 /etc/rsync.pass   #设置文件所有者读取、写入权限
7、启动rsync
/etc/init.d/xinetd start   #启动
service xinetd stop   #停止
service xinetd restart #重新启动

二、cwRsync客户端设置

1、下载cwRsync客户端软件
下载地址:http://s.jb51.net
2、安装cwRsync客户端
   解压cwRsync_4.0.3_Installer.zip 双击打开cwRsync_4.0.3_Installer.exe
   Next 下一步
   IAgree 同意安装
   Next
   默认安装路径 C:\Program Files\cwRsync
   Install 安装
   Close 安装完成,关闭
3、测试是否与Rsync服务端通信成功
开始-运行-cmd
输入cd C:\Program Files\cwRsync\bin   回车
再输入telnet 192.168.21.160 873   回车
出现telnet界面,说明与Rsync服务端通信成功
备注 C:\Program Files\cwRsync\bin  是指cwRsync程序安装路径
4、cwRsync客户端同步Rsync服务端的数据
开始-运行-cmd,输入cd C:\Program Files\cwRsync\bin 回车
再输入
rsync --port=873 -vzrtopg   --progress --delete osyunweibakuser@192.168.21.160::osyunwei /cygdrive/d/osyunwei
输入密码:123456 回车
开始同步数据,等待执行完成,可以打开D:\osyunwei 与Rsync服务端/data/osyunwei目录中的数据对比一下,查看是否相同
说明:
d/osyunwei 代表D:\osyunwei
osyunwei 代表/etc/rsyncd.conf文件中自定义的模块名称comment = osyunwei
192.168.21.160  #Rsync服务端IP地址
osyunweibakuser    #执行数据同步的用户
--port=873  #端口
-vzrtopg --progress #显示同步过程详细信息
--delete  #从cwRsync客户端D:\osyunwei目录中删除与Rsync服务端/data/osyunwei目录中不相同的数据,即保证两边的数据完全一致

三、在cwRsync客户端的任务计划中添加批处理脚本文件,每天凌晨3:00钟自动同步Rsync服务端/data/osyunwei目录中的数据到D:\osyunwei目录

1、打开C:\Program Files\cwRsync\bin目录新建passwd.txt
输入123456
保存
继续在C:\Program Files\cwRsync\bin目录新建osyunwei.bat
输入
@echo off
echo.
echo 开始同步数据,请稍等...
echo.
cd C:\Program Files\cwRsync\bin
rsync -vzrtopg --port=873 --progress --delete osyunweibakuser@192.168.21.160::osyunwei /cygdrive/d/osyunwei < passwd.txt
echo.
echo 数据同步完成
echo.
最后保存退出

2、添加批处理脚本到Windows任务计划


开始-设置-控制面板-任务计划
打开添加任务计划,下一步
浏览,选择打开C:\Program Files\cwRsync\bin目录里面的osyunwei.bat
执行这个任务,选择每天,下一步
起始时间:3:00
运行这个任务:每天,下一步
输入Windows系统管理员的登录密码,下一步
完成
扩展说明:如果要调整同步的时间,打开任务计划里面的osyunwei
切换到日程安排来选项设置,还可以打开高级来设置每隔几分钟运行一次osyunwei.bat这个脚本

至此,CentOS Rsync服务端与Windows cwRsync客户端实现数据同步完成