帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  使用rsync 在windows 服务端与linux 客户端数据同步

使用rsync 在windows 服务端与linux 客户端数据同步

2018-11-10 00:37:59 5805

使用rsync 在windows 服务端与linux 客户端数据同步

1、cwRsyncServer服务端

系统:Windows7

2、Rsync客户端

系统:CentOS 6.5

实现目的:

Rsync客户端每天自动同步cwRsyncServer服务端G:\rsyncfile目录中的数据到自己的/tmp/rsync目录中

一、cwRsyncServer服务端配置

安装cwRsyncServer_4.2.0_Installer

Next

I Agree(同意)

填写安装路径    Next

Service account:test (新建的一个系统账户)

Type password:123456(密码)

Confirm password:123456(密码)

备注:系统会自动创建一个账户:test来运行cwRsyncServer服务端程序

以上信息默认即可

Install (安装)

Close(关闭),安装完成

开始-设置-控制面板-管理工具-服务

找到RsyncSever选项,双击打开

启动类型:自动

点“启动”

应用-确定

在window中创建一个存放文件的目录(rsync同步用的),我这里创建的是G:\rsyncfile:

 

 

右击rsyncfile目录,打开属性——安全,把安装rsyncd时,设置的帐号添加进来,并设置权限为完全控制(我安装rsyncd的时候,设置了帐号是test,密码自己设置):

修改配置文件:

打开G:\rsyncserver\ICW\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

#

[rsyncfile]

path = /cygdrive/g/rsyncfile

read only = false

transfer logging = yes

auth users = test

secrets file = etc/rsyncd.secrets

UID = 0

GID = 0

注意path路径,path = /cygdrive/是固定的,不要改,后面连接的g/rsyncfile,则是我们刚才所建的目录路径,刚才我是建在G盘的,目录为rsyncfile。

其它参数详解:

read only = true #客户端只读

list = no#不允许列出文件

hosts allow=192.168.0.141 #允许连接IP,多个IP中间用英文状态下逗号隔,不限制IP填写*即可

auth users =test #允许连接的用户名

secrets file = etc/rsyncd.secrets #存放用户名密码的认证文件路径

创建rsync同步帐号密码文件:

进入:G:\rsyncserver\ICW\etc,创建文件:rsyncd.secrets,文件里输入test:123456,test是同步帐号,123456是同步密码

cwRsyncServer服务端安装设置完成

二、Rsync客户端配置

1、安装Rsync客户端软件

yum install rsync -y

chkconfig rsync on  #设置开机启动rsync

/etc/init.d/xinetd start #启动(CentOS中,Rsync是以xinetd来管理的)

2、测试Rsync客户端是否与cwRsyncServer服务端通信成功(cwRsyncServer服务端防火墙需要开启tcp 873端口)

yum install telnet #安装telnet测试工具

telnet 192.168.0.110 873 #输入命令后回车,如下图所示,表示通信成功

3、测试数据同步

[root@host1 rsync]# rsync -vzrtopg --port=873 --progress --delete test@192.168.0.110::rsyncfile  /tmp/rsync

这里会提示输入密码:123456

注意:此处的密码为cwRsyncServer服务端G:\rsyncserver\ICW\etc\rsyncd.secrets文件配置的密码

[root@host1 rsync]# pwd

/tmp/rsync

[root@host1 rsync]# ls

123.txt

4、添加计划任务,每天自动执行数据同步脚本

vi /etc/passwd.txt #配置文件,添加以下内容

 

123456 #密码

:wq! #保存退出

chmod 600 /etc/passwd.txt #设置文件权限,只设置文件所有者具有读取、写入权限即可

cd /shell

vim rsyncbak.sh #编辑,添加以下内容

#!/bin/sh

rsync -vzrtopg --port=873 --progress --delete test@192.168.0.110::rsyncfile /tmp/rsync --password-file=/etc/passwd.txt

:wq! #保存,退出

chmod +x /shell/rsyncbak.sh #添加脚本直接权限

crontab -e

* 22 * * * sh /shell/rsyncbak.sh > /var/log/rsyncbak.txt 2>&1

设置完成之后,每天22点,Rsync客户端会自动同步cwRsyncServer服务端G:\rsyncfile目录数据到自己的/tmp/rsync目录中

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


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: