第一步我們先安裝服務端:
下載完西西提供的整合包,裡面有一個服務器的安裝程序和一個綠色的客戶端
我們先雙擊 cwRsyncServer_4.1.0_Installer.exe 來安裝
到這一步的時候,他會提示您幫你新建一個用於同步的 Rsync的系統賬號,當然你也可以自定義用戶名和密碼。
安裝完成後rsync會加載以服務的方式來運行。
在 windows的服務中我們可以看到一個 RsyncServer 的服務,安裝後他默認是停止的您可以手動啟動,最好把啟動類型設為 自動 這樣下次如果服務器重啟這個軟件也會自動啟動了。
我們現在來說一下如何配置服務器文件。 在您的安裝目錄下可以找到一個 rsyncd.conf 的配置文件,這個文件和linux下面一樣,您也可以在開始菜單中找到這個文件的鏈接
我們先來配置一下:
use chroot = false
strict modes = false
lock file = rsyncd.lock
hosts allow = 192.168.1.21
max connections = 5port = 28950
gid = 0
uid = 0
log file = /cygdrive/f/RsyncLog/rsyncd.log# Module definitions
# Remember cygwin naming conventions : c:work becomes /cygdrive/c/work
[cr173com]
path = /cygdrive/d/cr173/
secrets file = /cygdrive/e/Setting/Rsync/rsync_db.PS
read only = no
list = no
transfer logging = yes
以上配置只允許192.168.1.21 訪問,這裡按需修改。 如果需要添加多個IP 單個IP地址,例如:192.167.1.1 整個網段,例如:192.168.1.0/24,也可以是192.168.1.0/255.255.255.0
多個IP或網段需要用空格隔開,“*”則表示所有,默認是允許所有主機連接。
strict modes = false 不驗證用戶密碼,
pid = 0,uid = 0 指定匿名訪問。
auth users 指訪問data_backup的用戶名
secrets file data_backup用戶名對應的密碼文件。
path:指定同步的文件目錄
use chroot:如果"use chroot"指定為true,那麼rsync在傳輸文件以前首先chroot到path參數所指定的目 錄下。這樣做的原因是實現額外的安全防護,但是缺點是需要以roots權限,並且不能備份指向外部的符號連接所指向的目錄文件。默認情況下chroot值為true。
numeric ids
munge symlinks
charset
max connections:指定該模塊的最大並發連接數量以保護服務器,超過限制的連接請求將被告知隨後再試。默認值是0,也就是沒有限制。
log file:指定rsync的日志文件
syslog facility:是否使用系統日志工具。可以有如下選項:
auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, syslog, user, uucp, local0, local1, local2, local3, local4, local5, local6 and local7. The default is daemon.
max verbosity
lock file:指定支持max connections參數的鎖文件
read only:該選項設定是否允許客戶上載文件。如果為true那麼任何上載請求都會失敗,如果為false並且服務器目錄讀寫權限允許那麼上載是允許的。默認值為true。
write only:該選項設定是否允許客戶下載文件。如果為true那麼任何下載請求都會失敗,如果為false並且服務器目錄讀寫權限允許那麼下載是允許的。默認值為true。
list:該選項設定當客戶請求可以使用的模塊列表時,該模塊是否應該被列出。如果設置該選項為false,可以創建隱藏的模塊。默認值是true。
uid:指定傳送數據的帳號,僅僅用於指定模塊。默認是:-2 ,即Nobody 帳號.
gid:指定傳送數據的帳號組,僅僅用於指定模塊。默認是:-2 ,即Nobody 組.
fake super
filter
exclude:用來指定多個由空格隔開的多個文件或目錄(相對路徑),並將其添加到exclude列表中。這等同於在客戶端命令中使用--exclude來指定模式,一個模塊只能指定一個exclude選項。但是需要注意的一點是該選項有一定的安全性問題,客戶很有可能繞過exclude列表,如果希望確保特定的文件不能被訪問,那就最好結合uid/gid選項一起使用。
include:用來指定不排除符合要求的文件或目錄。這等同於在客戶端命令中使用--include來指定模式,結合include和exclude可以定義復雜的exclude/include規則。
exclude from:指定一個包含exclude模式的定義的文件名,服務器從該文件中讀取exclude列表定義。
include from:指定一個包含include模式的定義的文件名,服務器從該文件中讀取include列表定義。
incoming chmod:
outgoing chmod
auth users:設置連接指定模塊的授權用戶名。
secrets file:密碼認證文件,格式為:username:password
strict modes:該選項指定是否監測密碼文件的權限,如果該選項值為true那麼密碼文件只能被rsync服務器運行身份的用戶訪問,其他任何用戶不可以訪問該文件。默認值為true。
hosts allow:該選項指定哪些IP的客戶允許連接該模塊。客戶模式定義可以是以下形式:
單個IP地址,例如:192.167.1.1
整個網段,例如:192.168.1.0/24,也可以是192.168.1.0/255.255.255.0
多個IP或網段需要用空格隔開,“*”則表示所有,默認是允許所有主機連接。
hosts deny:指定不允許連接rsync服務器的機器,可以使用hosts allow的定義方式來進行定義。默認是沒有hosts deny定義。
ignore errors:指定rsyncd在判斷是否運行傳輸時的刪除操作時忽略server上的IO錯誤,一般來說rsync在出現IO錯誤時將將跳過--delete操作,以防止因為暫時的資源不足或其它IO錯誤導致的嚴重問題。
ignore nonreadable:指定rysnc服務器完全忽略那些用戶沒有訪問權限的文件。這對於在需要備份的目錄中有些文件是不應該被備份者得到的情況是有意義的。
transfer logging:使rsync服務器使用ftp格式的文件來記錄下載和上載操作在自己單獨的日志中。
log format:通過該選項用戶在使用transfer logging可以自己定制日志文件的字段。
#The single-character escapes that are understood are as follows:
#%a the remote IP address
#%b the number of bytes actually transferred
#%B the permission bits of the file (e.g. rwxrwxrwt)
#%c the total size of the block checksums received for the basis file (only when sending)
#%f the filename (long form on sender; no trailing "/")
#%G the gid of the file (decimal) or "DEFAULT"
#%h the remote host name
#%i an itemized list of what is being updated
#%l the length of the file in bytes
#%L the string " -> SYMLINK", " => HARDLINK", or "" (where SYMLINK or HARDLINK is a filename)
#%m the module name
#%M the last-modified time of the file
#%n the filename (short form; trailing "/" on dir)
#%o the operation, which is "send", "recv", or "del." (the latter includes the trailing period)
#%p the process ID of this rsync session
#%P the module path
#%t the current date time
#%u the authenticated username or an empty string
#%U the uid of the file (decimal)
#For a list of what the characters mean that are output by "%i", see the --itemize-changes option in the rsync manpage.
timeout:該選項可以覆蓋客戶指定的IP超時時間。通過該選項可以確保rsync服務器不會永遠等待一個崩潰的客戶端。超時單位為秒鐘,0表示沒有超時定義,這也是默認值。對於匿名rsync服務器來說,一個理想的數字是600。
refuse options:通過該選項可以定義一些不允許客戶對該模塊使用的命令參數列表。這裡必須使用命令全名,而不能是簡稱。但發生拒絕某個命令的情況時服務器將報告錯誤信息然後退出。如果要防止使用壓縮,應該是:"dont compress = *"