1. 程式人生 > >遠程數據同步工具cwRsync

遠程數據同步工具cwRsync

分享圖片 簡單的 gre 命令 比較 特殊權限 nsf 控制 類型

1.軟件簡介

Rsync 是一個遠程數據同步工具,可通過 LAN/WAN 快速同步多臺主機間的文件。Rsync 本來是用以取代rcp 的一個工具,它當前由 Rsync.samba.org 維護。Rsync 使用所謂的“Rsync 演算法”來使本地和遠程兩個主機之間的文件達到同步,這個算法只傳送兩個文件的不同部分,而不是每次都整份傳送,因此速度相當快。運行 Rsync server 的機器也叫 backup server,一個 Rsync server 可同時備份多個 client 的數據;也可以多個Rsync server 備份一個 client 的數據。

Rsync 可以搭配 rsh 或 ssh 甚至使用 daemon 模式。Rsync server 會打開一個873的服務通道(port),等待對方 Rsync 連接。連接時,Rsync server 會檢查口令是否相符,若通過口令查核,則可以開始進行文件傳輸。第一次連通完成時,會把整份文件傳輸一次,下一次就只傳送二個文件之間不同的部份。

Rsync 支持大多數的類 Unix 系統,無論是 Linux、Solaris 還是 BSD 上都經過了良好的測試。此外,它在windows 平臺下也有相應的版本,比較知名的有 cwRsync 和 Sync2NAS。

cwRsync是Rsync在Windows上的實現版本,Rsync通過使用特定算法的文件傳輸技術,可以在網絡上傳輸只修改了的文件。
cwRsync v4.1.0:https://files.cnblogs.com/files/aten/cwRsync-v4.1.0.rar

cwRsync 的基本特點如下:

可以鏡像保存整個目錄樹和文件系統;
可以很容易做到保持原來文件的權限、時間、軟硬鏈接等;

無須特殊權限即可安裝;
優化的流程,文件傳輸效率高;
可以使用 rcp、ssh 等方式來傳輸文件,當然也可以通過直接的 socket 連接;
支持匿名傳輸。

2. Server安裝使用
2.1 安裝
一路點擊Next,使用默認配置安裝即可。
2.2 配置
修改配置文件rsyncd.conf如下(默認位置:C:\Program Files\ICW\):

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
port = 873
uid = 0
gid = 0

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/d/test
read only = false
transfer logging = yes

部分重要參數解釋如下:

use chroot = false
strict modes = false
hosts allow = * #允許所有IP訪問
log file = rsyncd.log #日誌文件
pid file = rsyncd.pid #進程文件
port = 873 #服務端口號
uid = 0 #不限定用戶
gid = 0 #不限定組

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test] #認證的模塊名,在client端需要指定使用
path = /cygdrive/d/test #需要做鏡像同步的目錄,如d:/test
read only = false
transfer logging = yes

註:
1. uid=0和gid=0需要指定,否則後面client進行同步時會報錯:
@ERROR: invalid uid nobody
rsync error: error starting client-server protocol (code 5) at main.c(1516) [Receiver=3.0.8]
2. 上述只是簡單的配置示例,還有很多其他的選項,可以參考幫助文件:C:\Program Files\ICW\doc\rsyncd.conf.html
2.3 啟動服務
在Server機器上運行services.msc,選擇服務"RsyncServer"配置啟動類型為"自動",後啟動該服務。

技術分享圖片

3. Client安裝使用
3.1 安裝
與Server相同,一路點擊Next,使用默認配置安裝即可。需要設置環境變量path:c:\Program Files\cwRsync\bin(window server 2008 r2不設置環境變量也能實現)
3.2 使用
新建一個test.bat文件(目錄下c:\Program Files\cwRsync\bin),內容如下:

@echo off
set RSYNC_HOME=C:\Program Files\cwRsync\bin
cd %RSYNC_HOME%
C:
rsync -avzP --progress --delete rsync://192.168.85.236:873/test /cygdrive/d/test

命令參數詳解:

-avzP  
-a 參數,相當於-rlptgoD:
-r 是遞歸
-l 是鏈接文件,意思是拷貝鏈接文件
-p 表示保持文件原有權限
-t 保持文件原有時間
-g 保持文件原有用戶組
-o 保持文件原有屬主
-D 相當於塊設備文件

-v 詳細模式輸出
-z 傳輸時壓縮
-P 顯示傳輸進度

--progress 顯示備份同步過程
--delete 刪除Client中有Server沒有的文件,即如果Server刪除了這一文件,那麽client也相應把文件刪除,保持真正的一致

rsync://192.168.85.236:873/test 配置Sever的IP地址及需要同步的模塊名(Server rsyncd.conf中配置)
/cygdrive/d/test 存放同步文件的Client本地目錄D:\test

運行bat,Client會進行文件遠程同步;

技術分享圖片

4.計劃任務配置
1. 在client機器上選擇:控制面板->任務計劃->添加任務計劃
2. 點擊下一步->瀏覽,打開上述的test.bat文件

3. 選擇每天執行一次

4. 配置起始時間

5. 點擊下一步,輸入服務器用戶名及密碼,完成任務添加

6. 選擇剛才添加的任務,配置屬性:日常安排->高級,選擇重復任務,配置每20分鐘執行一次,持續24小時

技術分享圖片

這時,計劃任務就會每天24小時,每20分鐘運行一次的方式來自動進行client與Server間的數據同步了。

轉自https://www.cnblogs.com/l1pe1/p/4901031.html

  https://blog.csdn.net/xygaj/article/details/78889777

  www.cnblogs.com/itech/archive/2010/08/11/1797045.html

  www.cnblogs.com/itech/archive/2009/08/10/1542945.html

  www.cnblogs.com/itech/archive/2010/06/13/1757952.html

遠程數據同步工具cwRsync