二、Rsync客户端配置,这个就需要linux上做配置了,相关的配置见如下过程:

1、查看selinux机制,关闭selinux

  1. [root@node1 ~]# getenforce  
  2. Disabled 

2、安装Rsync客户端软件

  1. [root@node1 ~]# yum install rsync xinetd 

3、需要安装这两个软件包就可以了,安装好之后就要修改一点配置文件了:

  1. [root@node1 ~]# vi /etc/xinetd.d/rsync #编辑配置文件,设置开机启动rsync ,Centos上的rsync使用xinetd启用的 

将disable=yes,改为no

  1. service rsync  
  2. {  
  3. disable = no 
  4. socket_type = stream 
  5. wait = no 
  6. user = root 
  7. server = /usr/bin/rsync  
  8. server_args = --daemon  
  9. log_on_failure += USERID  
  10. }  
  11. /etc/init.d/xinetd start #启动xinetd这个服务 

4、修改之后就远程连接测试一下,记得把windows的防火墙给关闭了哦,要不然很可能会连接不上的,或都在windows防火墙上开放873这个端口

wKiom1PqxqfwxhnUAABZ0Zz9Akk082.jpg

OK,说明连接到windows上成功了,那接下来我们就创建一个与windows下同步的目录了:

  1. [root@node1 ~]# mkdir pv /rsyncdata/data 

为了同步数据时不用每次都不手动输入密码,我们在客户端(linux下)也创建一个和服务端(windows)一样的密码文件此文件路径和密码要与服务器端的一样,客户端不用写名字)

  1. [root@node1 ~]# vim /etc/rsyncd.secrets #只需要写上服务器端上的用户密码就可以了 

wKiom1PqyBjBI3D8AAAO_o7ZHq8437.jpg

  1. [root@node1 ~]# chmod 600 /etc/rsyncd.secrets #改一下权限 

5、到这里我们就可以写命令来拉取windows服务器端上的数据了:

  1. [root@node1 ~]# rsync -vazrtopqg --delete --password-file=/etc/rsyncd.secrets rsync@10.17.1.88::rsyncdata/* /rsyncdata/data/ 

wKiom1PqyODh9NdHAAEGsrXk-Fc256.jpg

传输成功,这里说明一下这几个参数表示什么:

  1. -v, --verbose #详细模式输出  
  2. -q, --quiet #精简输出模式  
  3. -a, --archive #归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD  
  4. -r, --recursive #对子目录以递归模式处理  
  5. -o, --owner #保持文件属主信息  
  6. -g, --group #保持文件属组信息  
  7. -t, --times #保持文件时间信息  
  8. --delete #删除那些DST中SRC没有的文件  
  9. --password-file=FILE #从FILE中得到密码 

6、为了一是每次有数据修改时都要手动去同步一步,我们把这个命令写成一个脚本,再添加一个任务计划,这个就可以实现自动同步数据了;

wKioL1Pqy4awIx0nAABfDvqmtkY675.jpg

  1. [root@node1 ~]# crontab -e  
  2. * * * * * /bin/bash /root/rsync.sh &> /dev/null #我们设置每分钟同步一次 

OK了,到这里我们的整个的配置算是完成了,可能还做得不到的地方,希望朋友们发现了给我指出哦,在此先谢过了。


相关内容