目标
将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