说明:
1、cwRsyncServer服务端
系统:Windows7
IP地址:192.168.0.110
2、Rsync客户端
系统:CentOS 6.7
IP地址:192.168.0.141
实现目的:
Rsync客户端每天凌晨5:00自动同步cwRsyncServer服务端G:\rsyncfile目录中的数据到自己的/tmp/rsync目录中
一、cwRsyncServer服务端配置
下载地址:
https://www.backupassist.com/rsync/
安装cwRsyncServer_4.2.0_Installer
Next
I Agree(同意)
填写安装路径
Next
Service account:test (新建的一个系统账户)
Type password:123456(密码)
Confirm password:123456(密码)
备注:系统会自动创建一个账户:test来运行cwRsyncServer服务端程序
以上信息默认即可
Install (安装)
Close(关闭),安装完成
开始-设置-控制面板-管理工具-服务
找到RsyncSever选项,双击打开
启动类型:自动
点“启动”
应用-确定
在window7中创建一个存放文件的目录(rsync同步用的),我这里创建的是G:\rsyncfile:
右击rsyncfile目录,打开属性——安全,把安装rsyncd时,设置的帐号添加进来,并设置权限为完全控制(我安装rsyncd的时候,设置了帐号是test,密码123456):
修改配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
打开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 [email protected]::rsyncfile /tmp/rsync
这里会提示输入密码:123456
注意:此处的密码为cwRsyncServer服务端G:\rsyncserver\ICW\etc\rsyncd.secrets文件配置的密码
1 2 3 4 |
[root@host1 rsync]# pwd /tmp/rsync [root@host1 rsync]# ls 123.txt |
4、添加计划任务,每天自动执行数据同步脚本
vim /etc/passwd.txt #配置文件,添加以下内容
123456 #密码
:wq! #保存退出
chmod 600 /etc/passwd.txt #设置文件权限,只设置文件所有者具有读取、写入权限即可
cd /shell
vim rsyncbak.sh #编辑,添加以下内容
#!/bin/sh
rsync -vzrtopg –port=873 –progress –delete [email protected]::rsyncfile /tmp/rsync –password-file=/etc/passwd.txt
:wq! #保存,退出
chmod +x /shell/rsyncbak.sh #添加脚本直接权限
crontab -e
0 5 * * * sh /shell/rsyncbak.sh > /var/log/rsyncbak.txt 2>&1
设置完成之后,每天凌晨5点,Rsync客户端会自动同步cwRsyncServer服务端G:\rsyncfile目录数据到自己的/tmp/rsync目录中
至此,CentOS客户端与Windows服务端实现数据同步设设置完成
同步报错:
1 2 |
rsync: didn't get server startup line rsync error: error starting client-server protocol (code 5) at main.c(1649) [Receiver=3.1.2] |
这个报错排查了一个下午,各种原因都排查一遍,服务端客户端重装也没找到,最后修改rsync服务端的配置文件rsyncd.conf逐步排查,去掉[test]模块的这两行,其余步骤不变,认证成功!
1 2 |
auth users = test secrets file = etc/rsyncd.secrets |
发表评论
要发表评论,您必须先登录。