使用rsync在linux(客户端)拉取windows(服务端)数据

时间:2021-12-02 07:19:32

windows 服务端ip:172.18.18.70

Linux客服端ip: 172.18.54.11

1、windows服务端下载cwRsync Server , 地址:https://www.backupassist.com/rsync/

2、安装wcRsync Server, 记得配置你自己的账户和密码。 我配置的用户名是sunnytest, 密码是·123qwer

3、启动rsyncServer, 配置自动启动

4、在D盘创建一个rsyncFile的文件夹

5、右击rsyncfile目录,打开属性——安全,把安装rsync时,设置的帐号添加进来,并设置权限为完全控制(我安装rsyncd的时候,设置了帐号是sunnytest,密码·123qwer)

6、修改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
#
[test] # 自定义的标签名字,后续在客户端会用上, 模块名称, 其中test就代表了 /cygdrive/d/rsyncFile这个目录
path = /cygdrive/d/rsyncFile  # #客户端需要从服务器端同步的文件目录,存在于服务器端上

read only = false
transfer logging = yes
auth users = sunnytest
hosts allow = 172.18.54.11  #客户端ip地址
secrets file =  /cygdrive/d/sorftware/ICMetc/rsyncd.secrets #存放用户名和密码的地方

UID = 0
GID = 0

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

其它参数详解:

read only = true #客户端只读

list = no#不允许列出文件

hosts allow=172.18.54.11 ##代表允许所有的地址,安全起见,最好是客户端的地址。 允许连接IP,多个IP中间用英文状态下逗号隔,不限制IP填写*即可

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

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

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

进入:D:\rsyncserver\ICW\etc,创建文件:rsyncd.secrets,文件里输入sunnytest:·123qwer,sunnytest是同步帐号,·123qwer是同步密码

8、如果开启了防火墙,则防火墙规则中要添加Tcp端口 873 允许通信。window7开启参见https://jingyan.baidu.com/article/f96699bbadafca894f3c1b7a.html

9、服务验证,打开dos命令框,输入telnet 172.18.18.70 873 (如果没有安装telnet服务端与客户端,请在控制面板->添加删除程序->打开关闭windows功能中找到Telnet客户端和服务端,勾选进行安装)。如果telnet能成功连接,出现@RSYNCD: 30.0 等类似文字,则说明服务启动正常。

Windows端cwRsyncServer服务端安装设置完成

Linux配置rsync客户端

1、在linux的home的map目录下创建rsync文件夹, 在该文件夹中创建rsyncd_test.scrt文件, 并在该文件中添加同步密码·123qwer

注意:这个文件rsyncd_test.scrt的权限必须是600, 否则同步不成功

rsync客户端配置完成

执行:rsync -vzrtopg --progress --delete sunnytest@172.18.18.70::test/ieout --password-file=/home/map/rsync/rsyncd_test.scrt /home/map/sunny  进行同步测试

172.18.18.70服务端的ip地址

其中test代表了/cygdrive/d/rsyncFile D盘rsyncFile目录, 目前这个命令是同步rsyncFile文件夹中的ieout文件夹的数据

/home/map/rsync/rsyncd_test.scrt客户端配置的密码位置

/home/map/sunny同步的文件存储位置