在多臺Windows主機間使用cwRsync來 同步/備份/傳送 檔案
注:轉載請註明出處,並請保持文章的完整性。
如果你有多臺計算機,並且你希望它們的某些目錄保持一致(例如,你經常更改檔案的目錄),那麼如果用手工複製、貼上的方法,就太沒有效率了,資料夾多的話,能把你累個半死。所以,使用一些同步軟體是極其重要的。
在這裡,向你推薦rsync。套用網上的解釋:rsync是在Linux和UNIX上廣泛使用的檔案傳輸和同步程式。此軟體相當強大,經過一些配置之後,可以讓你從此以後的同步備份工作變得極其簡單、輕鬆。該軟體有Windows下的版本,叫做cwRsync。官方對它的詮釋是:cwrsync - Rsync for Windows。
你需要在一臺計算機上安裝cwrsync的伺服器端軟體cwRsyncServer
安裝cwRsyncServer的過程中,會要求你設定一個使用者名稱和密碼,建議一定要更改,而不是使用預設的。你提供的這個使用者名稱和密碼將會在系統使用者中建立一個帳戶(在Windows登入介面可以看得到它的存在)。
由於rsync伺服器在Windows下是以服務的形式來啟動的,所以你在使用它之前,應該確認你的rsync服務是否已經啟動了。cwRsyncServer
下面說一下如何設定rsync伺服器以及客戶端,使得它們可以同步某一目錄下的檔案。
由於rsync是來自Linux/Unix,所以就算是Windows下的cwRsync,也頗有Linux rsync的風格,這種風格體現在,你還是需要去修改配置檔案(一個文字檔案)來對rsync伺服器進行設定,而沒有一個圖形介面來讓你用滑鼠點幾下就解決問題。
我們用記事本開啟cwRsyncServer安裝目錄下的rsyncd.conf檔案(這個檔案就是rsync伺服器的配置檔案了),它定義了rsync伺服器的引數,服務啟動時會讀取該檔案內容,並用以初始化rsync服務。如果修改了引數,則需要重新啟動服務才能生效。
rsyncd.conf檔案已經有一部分預設內容,你可以參照下面的格式(不包括橫線),新增你所需要的引數:
port = 873 # rsync服務的埠(873就是預設埠,你可以更改)
use chroot = false # 預設,不更改
strict modes = false # 預設,不更改
read only = yes # 服務端檔案只讀(不允許客戶端修改或刪除)
list = no # 不允許客戶端對伺服器端的檔案列表
hosts allow = * # 允許連線伺服器的客戶端的IP地址列表(*表示不限制)
max connections = 10 # 最大連線數
uid=0 # 對某些場合,這個很重要,下面再解釋
gid=0 # 對某些場合,這個很重要,下面再解釋
auth users = ruser # 允許連線伺服器的使用者名稱
secrets file = rsyncd.secrets # 允許連線伺服器的帳戶檔案,其格式在下面會詳述
motd file = rsyncd.motd # 歡迎資訊檔案(客戶端連線時,服務將向客戶端傳送歡迎資訊,其內容即為此檔案的內容)
log file = rsyncd.log # 日誌檔案
lock file = rsyncd.lock # 鎖檔案
transfer logging = yes # 傳輸時記錄日誌
# Module definitions
# Remember cygwin naming conventions : c:/work becomes /cygwin/c/work
#
[test] # 一個模組的名字,可隨意起,但最好有意義
path = /cygdrive/D/test # 同步的目錄的路徑,其中,D盤就是“/cygdrive/D”,所以該路徑指的是D盤下的test目錄
[another]
path = /cygdrive/E/Documents and Settings/another
需要注意的幾點:
(1)你設定的rsync伺服器埠必須在防火牆裡開啟,否則客戶端還是連線不上。
(2)rsyncd.conf檔案中的模組上方是公用的引數,也就是所有模組都會共享的引數,如果在該模組內部又為該引數設定了不同的值,則會按模組內部的值來算。
(3)rsyncd.secrets檔案的內容格式如下:
使用者名稱:密碼
例如:
ruser:rupass
(4)一般來說,你要同步一個目錄的話,就要在rsyncd.conf中新增一個“模組”,併為該模組設定路徑等引數。
(5)如果客戶端連線rsync伺服器時,提示chdir失敗,並且你的登入使用者名稱和密碼之類的都設定對了,那麼很可能你就需要新增上面的“uid=0”和“gid=0”了,我就用這個解決了問題。
(6)在模組的路徑(path)中,經測試可以包含空格。
好了,伺服器端的設定基本完成,然後啟動rsync服務,就可以了。
下面我們來進行客戶端的工作,以完成同步任務。
前面說了,我在客戶端也裝了cwRsyncServer,因為它包含了客戶端的功能。
在客戶端,我們需要在命令列下執行一個帶許多引數的命令,以完成同步功能,正因為如此,我不可能在每次需要同步的時候,先cmd開啟命令列,然後再打長長的rsync命令來完成同步,否則也太痛苦了。所以我們可以寫一個批處理檔案(*.bat),來完成這個任務。批處理檔案的內容其實挺簡單:
cd d:/ICW/Bin
d:
rsync.exe -ravz --progress --password-file=/cygdrive/f/rsync/pass_file [email protected]::test/ /cygdrive/"D/Program Files/test"
rsync.exe -ravz --progress --password-file=/cygdrive/f/rsync/pass_file [email protected].100::another/ /cygdrive/"E/another"
pause
說明:
(1)第一行表明切換到rsync程式所在目錄,請視實際情況更改。
(2)第二行表明切換到D盤(rsync程式所在的盤)。
(3)192.168.1.100是rsync伺服器IP,請視實際情況更改。
(4)--password-file 引數指定了客戶端登入伺服器時,使用的帳戶的密碼檔案,例如上面的“/cygdrive/f/rsync/pass_file” 表明是 F:/rsync/pass_file 檔案,該檔案內容就是登入rsync伺服器的帳戶的密碼。
(5)紅色的文字指定的是rsync伺服器配置檔案中設定的模組名,必須一致。
(6)有多個目錄要同步,就寫多個rsync命令,雙擊此批處理檔案時,會依次執行。
(7)上面例子中的第一個rsync命令的含義是:將遠端的rsync伺服器中,test模組所指定的目錄,同步到本地的 D/Program Files/test 目錄。在客戶端,如果路徑中含有空格,則需要將路徑用雙引號括起來(如上面的例子所示)。
這樣配置好之後,雙擊批處理檔案,你的兩個目錄就開始同步啦。以後,你就再也不用費勁地去手工同步檔案了,rsync會自動判斷哪些檔案修改了,哪些沒有修改,只傳輸修改過的檔案(並且還會增量傳輸),節省你的頻寬,極其高效。
rsync功能非一般強大,關於rsync的更多配置選項,此處絕對不可能描述得完,請參考其手冊。
相關推薦
在多臺Windows主機間使用cwRsync來 同步/備份/傳送 檔案
注:轉載請註明出處,並請保持文章的完整性。 如果你有多臺計算機,並且你希望它們的某些目錄保持一致(例如,你經常更改檔案的目錄),那麼如果用手工複製、貼上的方法,就太沒有效率了,資料夾多的話,能把你累個半死。所以,使用一些同步軟體是極其重要的。 在這裡,向你推薦rsync。
多臺個人電腦間的資料同步
相信很多人都在同時使用多臺計算機:家裡,辦公室,或者其它祕密地方。當然就算現在沒有多臺電腦,將來也會有的。 多臺電腦對應多個硬碟,也對應著多個資料夾。如何進行資料同步是很多人頭痛的問題,完全靠 U 盤來同步,時間長了根本無法記得哪個版本最新,哪個版本需要修
關於解決多臺linux伺服器間的檔案實時同步問題
最近要做一個相關的解決方案,在虛擬機器測試沒有問題。給大家分享出來,有更好的解決方案,歡迎討論。 1.1 inotify相關介紹 1、rsync 與傳統的cp、ta
docker 實戰---多臺物理主機的聯網,容器橋接到物理網絡
容器橋接到物理網絡docker 默認的橋接網卡是docker0它只會在本機橋接所有的容器網卡,舉例來說容器的虛擬網卡在主機上看一般叫做veth*** 而docker只是把所有這些網卡橋接在一起,如veth2a4c51b:[root@docker1 ~]# brctl showbridge name br
WMI實現遠端監控多臺windows伺服器
簡介 WMI簡介: WMI(Windows Management Instrumentation,Windows 管理規範)是一項核心的 Windows 管理技術;使用者可以使用 WMI 管理本地和遠端計算機。 WQL簡介: WQL就是WMI中的查詢語言,WQL的全稱是WMI Que
xampp配置多臺虛擬主機
1.開啟apache的配置檔案 httpd.conf下面:Include conf/extra/httpd-vhosts.conf 去掉前面註釋 2.新增監聽埠 #Listen 12.34.56.78
17 :多臺物理機間的容器連線
兩臺物理主機,docker官方推薦瞭如下方式連線兩個容器。 以下以wordpress+mysql的服務為例。 部署在兩臺機器上的wordpress和mysql通過一對ambassador進行連線。 wordpress(in vm1)--link-->ambass
兩臺linux主機間互傳檔案的解決辦法
1.針對虛擬機器中裝Linux的情況。 主機上裝一個類似XManager的工具,裡面的Xftp可以在主機和虛擬機器之間傳輸檔案。利用主機作為中轉站,可以實現linux主機中檔案傳輸。 2.要求在linux中實現 利用scp命令,它可以實現兩臺linux主機間檔案安全
Windows下利用cwRsync批量同步檔案(4.1.0版本)
前段時間寫了一篇linux下利用rsync批量更新的文章,網遊公司windows伺服器還是很多的,今天就來講講windows下批量更新的方法,windows下同步資料利用cwRsync來完成的一、系統環境windows 2003 R2 sp2 更新源伺服器:10
通過vCenter Server管理多臺ESXi主機
通過vCenter Server管理多臺ESXi主機 通過前面3章的介紹,已經對虛擬化有一定的瞭解,不過那都是一些基礎的東西,在實際運用中沒什麼意義。從這章開始將正式踏入虛擬化技術的核心部分;隨著時間推移,所學知識越來越深。 將多臺ESXi主機加入vCenter Se
Linux伺服器和Windows本地間scp命令上傳下載檔案的使用
scp上傳下載的使用 |-在Linux上安裝ssh | |-安裝SecureCRT,進行遠端連線Linux | |-在Windows上安裝Winsshd使得Windows支援ssh協議,並開啟wins
java多執行緒網路伺服器端向客戶端傳送檔案
tcpServer.java package com.tcp.server; import java.io.IOException; import java.net.ServerSocket; im
Linux多臺主機間配置SSH免密登陸
包含 生成 目錄 apt 裏的 html .cn 密碼 查看 1.安裝ssh. sudo apt-get install ssh. 安裝完成後會在~目錄(當前用戶主目錄,即這裏的/home/xuhui)下產生一個隱藏文件夾.ssh(ls -a 可以查看隱藏文件)。如果沒有
關於解決多臺伺服器間的檔案實時同步問題
最近要做一個相關的解決方案,在虛擬機器測試沒有問題。給大家分享出來,有更好的解決方案,歡迎討論。 1.1 inotify相關介紹 1、rsync 與傳統的cp、tar備份方式相比,rsync具有安全性高、備份迅速、支援增量備份等優點,通
如何實現Linux多臺伺服器間的檔案雙向同步
Linux系統間檔案雙向同步搭建Unison版 一、Unison簡介 Unison是Windows、Linux以及其他Unix平臺下都可以使用的檔案同步工具,它能使兩個資料夾(本地或網路上的)保持內容的一致。Unison擁有與其它一些同步工具或檔案系統的相同的特性,但也有自身的特點: 1.跨平臺
Unison+inotify-tools實現Ubuntu主機間的多機觸發式雙向同步
安裝OpenSSH 在各臺伺服器上安裝OpenSSH,使用如下命令: sudo apt-get install openssh 該命令在你的機器上同時安裝了SSH Server和SSH Client。 安裝Unison
邁拓維矩遊戲同步器:一套鍵盤鼠標對多臺電腦進行同步操作
邁拓維矩 同步器 邁拓維矩遊戲同步器可以通過手動操作一套鼠標、鍵盤,即可對多臺電腦進行同步操作,比代理或外掛更加穩定、安全和可靠。在眾多大型遊戲中隨處可見邁拓維矩遊戲同步器的使用,如《地下城與勇士》、《征途》、《禦龍在天》、《夢幻西遊》、《永恒之塔》、《龍之谷》等,下面,由邁拓維矩帶領大家深入了
samba共享目錄多臺主機掛載,搭建WordPress
搭建wordpress samba共享目錄多臺主機掛載 項目實踐一:(1) 使用samba共享/data/application/web,在目錄中提供wordpress; (2) 使用samba客戶端掛載samba server共享的目錄至/var/www/html;(3) 客戶端(lamp),部署w
C#使用互斥量(Mutex)實現多進程並發操作時多進程間線程同步操作(進程同步)
互斥 空字符 示例 logfile format ror var mutex類 www 本文主要是實現操作系統級別的多進程間線程同步(進程同步)的示例代碼及測試結果。代碼經過測試,可供參考,也可直接使用。 承接上一篇博客的業務場景[C#使用讀寫鎖三行代碼簡單解決多線程並發
遠程給多臺主機安裝軟件
自動化案例1:在物理機上編寫一個自動化批量管理服務器的腳本。要求用ssh命令遠程給3臺虛擬機全自動安裝vsftpd、ftp、lftp、tree、samba、tftp-server、bind、dhcp、httpd、mariadb-server軟件,用rpm -q查詢軟件是否已安裝,全自動啟動vsftpd、sm