目标
将Windows服务器上某个目录的数据完全同步到Linux服务器。Windows作为服务端,开启873端口,Linux 作为客户端,从远端向Windows 服务器拉取数据。
Windows部署cwRsyncServer
1、下载cwRsyncServer4.1,进行安装,在安装时可以自定义用户名密码,但必须确保密码的复杂度,否则系统无法成功创建用户和服务。
<a href="https://s4.51cto.com/wyfs02/M00/05/E3/wKiom1muEyDgVrleAADegCMgPpU905.jpg" target="_blank"></a>
2、安装完毕后,进入对应目录配置conf文件,默认的安装路径在C:\Program Files (x86)\ICW,修改此目录下的rsyncd.conf文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<code>use chroot = </code><code>false</code>
<code>strict modes = </code><code>false</code>
<code>hosts allow = *</code>
<code>log </code><code>file</code> <code>= rsyncd.log</code>
<code>port = 873</code>
<code>uid = 0 </code>
<code>gid = 0</code>
<code># Module definitions</code>
<code># Remember cygwin naming conventions : c:\work becomes /cygwin/c/work</code>
<code>#</code>
<code>[rsyncdata] </code><code># 同步模块,可设置多个</code>
<code>path = </code><code>/cygdrive/d/rsyncdata</code> <code>#此处表示D:/rsyncdata 目录</code>
<code>read</code> <code>only = </code><code>false</code>
<code>transfer logging = </code><code>yes</code>
<code>hosts allow = 192.168.1.231 </code><code>#此处为Linux服务器地址</code>
<code>auth </code><code>users</code> <code>= </code><code>rsync</code>
<code>secrets </code><code>file</code> <code>= </code><code>/cygdrive/d/rsyncd</code><code>.secrets </code><code>#密码文件路劲</code>
3、创建同步文件夹和密码文件:
在D盘创建rsyncd.secrets文件,确认后缀名为secrets而不是txt,并添加账号密码内容:
rsync:rsync
创建或者选择需要同步数据的文件夹,并为文件夹添加SvcCWRSYNC的用户权限(full contronal)。
4、启动服务:
在run命令框中输入 services.msc ,进入服务管理界面,设置RsyncServer服务自启动
<a href="https://s4.51cto.com/wyfs02/M02/A4/97/wKioL1muPrOSrTIwAAHX_PG9GNc676.jpg" target="_blank"></a>
5、配置Windows防火墙,在入栈规则中添加允许访问873端口。
Linux服务器同步文件
1、在Linux服务器上安装rsync:
<code> </code><code>yum </code><code>install</code> <code>rsync</code> <code>-y</code>
2、配置密码文件:
<code>echo</code> <code>"rsync"</code> <code>> </code><code>/etc/rsyncd</code><code>.secrets</code>
<code>chmod</code> <code>600 </code><code>/etc/rsyncd</code><code>.secrets</code>
3、创建/rsyncdata/data目录使用如下命令同步文件:
<code>rsync</code> <code>-vazrtopqg --delete --password-</code><code>file</code><code>=</code><code>/etc/rsyncd</code><code>.secrets \</code>
<code> </code><code>rsync</code><code>@192.168.1.171::rsyncdata </code><code>/rsyncdata/data/</code>
4、可将上面的命令添加到定时任务脚本,每天凌晨2点执行一次:
<code>0 2 * * * </code><code>/bin/bash</code> <code>/scripts/rsyncbak/bak</code><code>.sh &> </code><code>/dev/null</code>
本文转自 酥心糖 51CTO博客,原文链接:http://blog.51cto.com/tryingstuff/1962831