天天看點

windows下rsync服務端與用戶端的資料同步

一、軟體

伺服器端與用戶端軟體分别為cwRsyncServer_4.2.0和cwRsync4.2.0

二、環境介紹

server端系統為win 2003,其IP為10.240.210.88;用戶端端為winXP SP3,其IP為10.240.210.206

三、安裝

分别在服務端與用戶端安裝對應版本的軟體,預設安裝即可。我這裡服務端的安裝路徑為:E:\Program Files\ICW,用戶端安裝路徑為

四、配置

伺服器端

1)進入安裝目錄所在的根目錄,編輯配置rsyncd.conf

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<code>use chroot = false</code>

<code>strict modes = false</code>

<code>hosts allow = *   #允許任意IP</code>

<code>lock file = rsyncd.lock </code>

<code>max connections = 5</code>

<code>port = 28950   #指定端口号</code>

<code>charset=UTF-8  #指定字元集</code>

<code>#pid = 0</code>

<code>uid = 0    #運作rsync守護程序的使用者 0為不限制</code>

<code>gid = 0    #運作rsync守護程序的組   0為不限制</code>

<code>log file = rsyncd.log  #日志檔案存放位置</code>

<code># Module definitions</code>

<code># Remember cygwin naming conventions : c:\work becomes /cygwin/c/work</code>

<code>#</code>

<code>#[test]</code>

<code>#path = /cygdrive/c/work</code>

<code>#read only = false</code>

<code>#transfer logging = yes</code>

<code>[data]</code>

<code>path = /cygdrive/e/backup   #待備份的目錄</code>

<code>auth users =user            #指定授權使用者名</code>

<code>secrets file = etc/rsyncd.secrets  #指定密碼存儲檔案</code>

<code>read only = no         </code>

<code>transfer logging = yes</code>

<code>hosts allow = 10.240.210.206      #隻允許10.240.210.206</code>

密碼檔案rsyncd.secrets 

存放在安裝目錄下的名為etc的檔案夾中。

其内容為: user:!@#qwe       

格式為使用者名:密碼

需将其權限設定為600,即其他組沒有讀權限。同時要保證使用者cwRsyncServer既是該檔案擁有者又對其具有讀寫權限。設定如下:

<a href="http://s3.51cto.com/wyfs02/M01/6D/4C/wKioL1VgVqGyo0VEAAO9rYzF1o8948.jpg" target="_blank"></a>

2)開啟RsyncServer 服務,開始-運作-輸入 services.msc-回車後,找到RsyncServer服務并啟用。

<a href="http://s3.51cto.com/wyfs02/M00/6D/4C/wKioL1VgWBDAWBJjAAGu_d8EIlw230.jpg" target="_blank"></a>

3)關閉系統防火牆

4)驗證服務

打開指令提示符視窗,輸入telnet 10.240.210.88 28950,若彈出@RSYNCD: 30.0,則服務正常運作。如下圖:

<a href="http://s3.51cto.com/wyfs02/M00/6D/51/wKiom1VgV1vRSbzBAABo4iOka2c092.jpg" target="_blank"></a>

2 用戶端安裝

1)安裝cwRsync4.2.0,一路next即可。

2)測試與服務端的連接配接是否正常

打開指令提示符視窗,輸入telnet 10.240.210.88 28950,若彈出@RSYNCD: 30.0,則服務正常運作。

3)在D:\Program Files\cwRsync\etc目錄下建立rsyncd.secrets密碼存儲檔案,該檔案内容為

!@#qwe   (指定使用者user的密碼)

4)在桌面建立一個bat腳本,内容為

<code>cd D:\Program Files\cwRsync\bin</code>

<code>rsync -vrtopg --port=28950 --progress --delete [email protected]::data /cygdrive/d/backup --password-file=/cygdrive/../etc/rsyncd.secrets</code>

<code>pause</code>

亦可為

<code>"D:\Program Files\cwRsync\bin\rsync" -vrtopg --port=28950 --progress --delete [email protected]::data /cygdrive/d/backup --password-file=/cygdrive/../etc/rsyncd.secrets</code>

二者功能相同

各項參數說明

<code> </code><code>--port=28950 為rsync端口号</code>

<code> </code><code>-vrtopg </code>

<code>     </code><code>-v, --verbose 詳細模式輸出</code>

<code>     </code><code>-r, --recursive 對子目錄以遞歸模式處理</code>

<code>     </code><code>-t, --times 保持檔案時間資訊</code>

<code>     </code><code>-o, --owner 保持檔案屬主資訊</code>

<code>     </code><code>-p, --perms 保持檔案權限</code>

<code>     </code><code>-g, --group 保持檔案屬組資訊</code>

<code> </code><code>--progress 顯示進度</code>

<code> </code><code>--delete </code>

<code> </code><code>删除那些DST中SRC沒有的檔案,就是使用戶端D盤下的backup目錄與伺服器端的backup目錄完全一緻。</code>

<code> </code><code>/cygdrive/d/backup   用戶端D盤下的backup目錄</code>

<code> </code><code>--password-file=/cygdrive/../etc/rsyncd.secrets  引入密碼檔案</code>

winxp下無需将改密碼檔案的擁有者設定為目前使用者,server 2003則需要,且需設定對該檔案具有讀取和執行權限

5)添加到計劃任務

a.winxp

開啟Task Scheduler服務

<a href="http://s3.51cto.com/wyfs02/M01/6D/4D/wKioL1VgYJGQBkWVAARQqjgkzZA980.jpg" target="_blank"></a>

開始-&gt;控制台-&gt;任務計劃-&gt;打開添加任務計劃-&gt;下一步

按照截圖中的設定即可

<a href="http://s3.51cto.com/wyfs02/M01/6D/4D/wKioL1VgYBewaC24AAHVt5EL7WU219.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/6D/4D/wKioL1VgYBfj7GipAAGFIwu33-0900.jpg" target="_blank"></a>

b.winsever 2012

<a href="http://s3.51cto.com/wyfs02/M00/6D/4D/wKioL1VgZJXhNLJQAALzqXqhbnc209.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/6D/4D/wKioL1VgZJXw6jN1AAHaQFFmcOA251.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/6D/52/wKiom1VgYwqilE-KAAJS1pjvwdE597.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/6D/52/wKiom1VgYwrwy43JAAF9sWb8blk503.jpg" target="_blank"></a>

五、批處理腳本

<code>@echo off</code>

<code>set today=%date:~,4%-%date:~5,2%-%date:~8,2%</code>

<code>md E:\backup\data\%today%</code>

<code>md E:\backup\scripts\%today%</code>

<code>"E:\Program Files\ICW\Bin\rsync" -av /cygdrive/e/自動備份/ /cygdrive/e/backup/data/%today%/ --delete</code>

<code>"E:\Program Files\ICW\Bin\rsync" -av /cygdrive/e/backup/scripts/now/ /cygdrive/e/backup/scripts/%today%/ --delete</code>

每天執行一次,将伺服器E盤下自動備份檔案夾内的内容拷貝至本機的/e/backup/data/%today%/目錄内

其中%today%為目前日期,如2015-05-23;将/e/backup/scripts/now/檔案内的所有内容拷貝到/e/backup/scripts/%today%/

<code>md C:\backup\data\%today%</code>

<code>md C:\backup\scripts\%today%</code>

<code>echo. &gt;&gt;C:\backup\scripts\%today%\backup_daily.log</code>

<code>echo **************************************************%today%**************************************************&gt;&gt;C:\backup\scripts\now\backup_daily.log</code>

<code>"D:\Program Files\ICW\Bin\rsync" -av /cygdrive/c/自動備份/ /cygdrive/c/backup/data/%today%/ --delete &gt;&gt;C:\backup\scripts\now\backup_daily.log</code>

<code>"D:\Program Files\ICW\Bin\rsync" -av /cygdrive/c/backup/scripts/now/ /cygdrive/c/backup/scripts/%today%/  &gt;&gt;C:\backup\scripts\now\backup_daily.log</code>

<code>echo. &gt;&gt;C:\backup\scripts\now\backup_daily.log </code>

輸出每天的log檔案

本文轉自 xoyabc 51CTO部落格,原文連結:http://blog.51cto.com/xoyabc/1654473,如需轉載請自行聯系原作者

繼續閱讀