cwRsyncServer从windows下数据实时同步到linux服务器上的实现过程(1)(4)
二、Rsync客户端配置,这个就需要linux上做配置了,相关的配置见如下过程:
1、查看selinux机制,关闭selinux
- [root@node1 ~]# getenforce
- Disabled
2、安装Rsync客户端软件
- [root@node1 ~]# yum install rsync xinetd
3、需要安装这两个软件包就可以了,安装好之后就要修改一点配置文件了:
- [root@node1 ~]# vi /etc/xinetd.d/rsync #编辑配置文件,设置开机启动rsync ,Centos上的rsync使用xinetd启用的
将disable=yes,改为no
- service rsync
- {
- disable = no
- socket_type = stream
- wait = no
- user = root
- server = /usr/bin/rsync
- server_args = --daemon
- log_on_failure += USERID
- }
- /etc/init.d/xinetd start #启动xinetd这个服务
4、修改之后就远程连接测试一下,记得把windows的防火墙给关闭了哦,要不然很可能会连接不上的,或都在windows防火墙上开放873这个端口
OK,说明连接到windows上成功了,那接下来我们就创建一个与windows下同步的目录了:
- [root@node1 ~]# mkdir pv /rsyncdata/data
为了同步数据时不用每次都不手动输入密码,我们在客户端(linux下)也创建一个和服务端(windows)一样的密码文件此文件路径和密码要与服务器端的一样,客户端不用写名字)
- [root@node1 ~]# vim /etc/rsyncd.secrets #只需要写上服务器端上的用户密码就可以了
- [root@node1 ~]# chmod 600 /etc/rsyncd.secrets #改一下权限
5、到这里我们就可以写命令来拉取windows服务器端上的数据了:
[root@node1 ~]# rsync -vazrtopqg --delete --password-file=/etc/rsyncd.secrets rsync@10.17.1.88::rsyncdata/* /rsyncdata/data/
传输成功,这里说明一下这几个参数表示什么:
- -v, --verbose #详细模式输出
- -q, --quiet #精简输出模式
- -a, --archive #归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
- -r, --recursive #对子目录以递归模式处理
- -o, --owner #保持文件属主信息
- -g, --group #保持文件属组信息
- -t, --times #保持文件时间信息
- --delete #删除那些DST中SRC没有的文件
- --password-file=FILE #从FILE中得到密码
6、为了一是每次有数据修改时都要手动去同步一步,我们把这个命令写成一个脚本,再添加一个任务计划,这个就可以实现自动同步数据了;
- [root@node1 ~]# crontab -e
- * * * * * /bin/bash /root/rsync.sh &> /dev/null #我们设置每分钟同步一次
OK了,到这里我们的整个的配置算是完成了,可能还做得不到的地方,希望朋友们发现了给我指出哦,在此先谢过了。
评论暂时关闭